我相信V8的底層Node.js默認支持嚴格模式或ES5。Node.js:如何在V8引擎中啓用non strict或ECMASCRIPT3?
我們可以在V8引擎中啓用非嚴格或ECMASCRIPT 3嗎?
幾乎100%的ES5功能在Chrome(V8)中均可用,請參閱compatibility table。
但是有些開發人員(包括我)仍然對ES3感到滿意,我們可以有這個選擇嗎?
我相信V8的底層Node.js默認支持嚴格模式或ES5。Node.js:如何在V8引擎中啓用non strict或ECMASCRIPT3?
我們可以在V8引擎中啓用非嚴格或ECMASCRIPT 3嗎?
幾乎100%的ES5功能在Chrome(V8)中均可用,請參閱compatibility table。
但是有些開發人員(包括我)仍然對ES3感到滿意,我們可以有這個選擇嗎?
只是不要在您的代碼中包含字符串"use strict"
。 V8支持嚴格模式,除非您告訴它(即它遵循ES5規範),否則不會使用它。
比較下面的腳本:
輸入:
foo = "Hello";
console.log(foo);
輸出:
[email protected]:tmp # node test.js
Hello
和
輸入:
"use strict";
foo = "Hello";
console.log(foo);
輸出:默認情況下不啓用
[email protected]:tmp # node test.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: foo is not defined
at Object.<anonymous> (/Users/quentin/tmp/test.js:2:5)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)
是嗎?我認爲默認情況下V8使用嚴格,不需要明確提及「嚴格使用」。 – 2012-01-02 19:53:31
感謝了... – 2012-01-02 19:55:56
嚴格模式。還有,你想使用ES3的「真實」原因?您的ES3工作也應該使用ES5解釋器運行。 – Eliasdx 2012-01-02 19:53:53