拉丁的傳說(shuō)
2018-11-15 14:15:06
如下所示,在循環(huán)中,循環(huán)的變量刪除后,循環(huán)仍能進(jìn)行,是因?yàn)檫@個(gè)變量被特殊定義為了不可編輯,還是說(shuō)編譯器在上下文中創(chuàng)建了一個(gè)內(nèi)部的同名的變量供循環(huán)使用?for (var j = 0; j < 10; j++) { delete j; console.log(j); // 正常輸出 0 1 2 3 ...}
1 回答

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
因?yàn)?delete只能對(duì)實(shí)例屬性有作用,不能直接delete變量或者函數(shù)。
你執(zhí)行以下命令,返回的將是false,表示刪除無(wú)效。
// 刪除變量的場(chǎng)景
var j = 1;
delete j; // 返回false
console.log(j); // 依然是1
// 刪除函數(shù)的場(chǎng)景
function x() {
console.log('hello');
}
delete x; // 返回false
x(); // 輸出'hello', 函數(shù)依然有效
// 刪除對(duì)象屬性的場(chǎng)景
var a = {prop: 1};
delete a.prop; // 返回true,表示刪除成功
console.log(a.prop); // undefined
附: delete操作符語(yǔ)法, 來(lái)自 MDN文檔
delete expression
其中的expression是一個(gè)對(duì)象屬性的引用
delete object.propertydelete object['property']
添加回答
舉報(bào)
0/150
提交
取消