[英]Why Is My Variable Not Declaring In JavaScript
如果我們寫:
window['anime'] = 'one punch man'
然后我們可以簡單地訪問:
console.log(anime)
但如果我們這樣做:
window['%'] = 'symbol'
那么這給出了一個語法錯誤:
console.log(%)
為什么會這樣?
快速通讀一下( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types ),它是關於 JavaScript 有效標識符的。 本質上, %
不是有效的,因此是錯誤的。
你可以做window['percent']
, window['PERCENT']
, window['_PERCENT']
, window['$percent']
等,只要你遵守規則。
從網站:
您可以使用變量作為應用程序中值的符號名稱。 變量的名稱,稱為標識符,符合一定的規則。
JavaScript 標識符必須以字母、下划線 (_) 或美元符號 ($) 開頭。 后續字符也可以是數字 (0–9)。
由於 JavaScript 區分大小寫,因此字母包括字符“A”到“Z”(大寫)以及“a”到“z”(小寫)。
您可以在標識符中使用大多數 ISO 8859-1 或 Unicode 字母,例如 å 和 ü。 (有關更多詳細信息,請參閱此博客文章。)您還可以使用 Unicode 轉義序列作為標識符中的字符。
合法名稱的一些示例是 Number_hits、temp99、$credit 和 _name。
在 JavaScript 中,您不能將變量名聲明為%
因為它只能包含字母、數字、下划線和美元符號(但不能以數字開頭)。
因此,當您執行window['anime'] = 'one punch man'
,將自動創建一個全局anime
變量。
但是,當您執行window['%'] = 'symbol'
, %
不會發生相同的情況,因為它不遵循上述規則。
% 在 JS 中用作余數運算符,因此不能用作變量名或訪問值。
本文提供了有關在 JS 中可以或不可以用作變量名的更多信息: https : //mathiasbynens.be/notes/javascript-identifiers-es6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.