[英]node's REPL doesn't recognizes a block code
你的翻譯認為你要創建一個對象文字,就像{ var: x }
那樣。 { var x; }
{ var x; }
不是一個好的對象語法,因為在標識符var
之后應該有一個冒號,而不是x
。 因此, SyntaxError
。
你可以強制解析器認為它是一個代碼塊,通過在它之前添加任何實際上是代碼塊的提示:
label: { var x; }
if (true) { var x; }
do { var x; } while (false);
編輯:另外,請注意,沒有充分的理由這樣做。 如果您沒有將代碼塊用作流控制語句的語句組,或者作為標簽的目標,則它完全沒用(並且是您發現的難以跟蹤的錯誤的潛在來源)。
在其他語言中,您可能正在控制變量的范圍(我希望您確保在塊外部看不到x
?)。 在JavaScript中, 只有函數具有范圍 。 因此,要將變量與周圍環境隔離,您需要一個函數:
{
var x1;
};
x1; // undefined
(function() {
var x2;
})();
x2; // Uncaught ReferenceError: x is not defined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.