調用函數時,會爲該調用創建新的詞法環境。該詞彙環境包含一個環境記錄,該記錄又保存該環境中存在的本地命名綁定。所以,舉例來說:在函數的詞法環境中更改綁定的值
(function() {
var x = 123;
// other code
}());
在上面的函數調用,將存在一個名爲"x"
和值123
的綁定,在函數的詞法環境。現在
,如果我們想改變的是綁定的值,我們可以:
設置標識符
x
作爲分配運營商之一的左側:x = 456; // the value of the "x" binding has changed to 456
設置標識符
x
作爲前綴/後綴遞增/遞減運算符的操作數:x++; // the value of the "x" binding has changed to 124
我的問題:這些是改變「x」綁定值的唯一兩種方法嗎?
'x ++;'只是'x = x + 1;'的語法快捷方式;所以您確實只有一種分配類型在這裏描述。 –
是不是「轉讓」通常的術語,而不是「綁定」? –
@dystroy http://ecma262-5.com/ELS5_HTML.htm#Section_10.5 – Incognito