課程
/前端開發
/JavaScript
/JavaScript深入淺出
delete ohno之后講的是什么,用var定義可以刪除,是哪種情況
2015-04-15
源自:JavaScript深入淺出 4-3
正在回答
自己動手試一試,通常情況下,使用var去聲明的變量,不能被delete,例如:
var abc = 100;
delete abc; // 返回true
abc; // 還是100
但是在eval代碼里,就會不同,:
eval("var abc = 100;console.log(delete abc); console.log(abc);"); // 返回true, undefined
菜花
zcqno1
delete?操作符會從某個對象上移除指定屬性。成功刪除的時候回返回?true,否則返回?false。但是,以下情況需要重點考慮:
delete?
true
false
如果你試圖刪除的屬性不存在,那么delete將不會起任何作用,但仍會返回true
如果對象的原型鏈上有一個與待刪除屬性同名的屬性,那么刪除屬性之后,對象會使用原型鏈上的那個屬性(也就是說,delete操作只會在自身的屬性上起作用)
任何使用?var?聲明的屬性不能從全局作用域或函數的作用域中刪除。
var
這樣的話,delete操作不能刪除任何在全局作用域中的函數(無論這個函數是來自于函數聲明或函數表達式)
除了在全局作用域中的函數不能被刪除,在對象(object)中的函數是能夠用delete操作刪除的。
任何用let或const聲明的屬性不能夠從它被聲明的作用域中刪除。
let
const
不可設置的(Non-configurable)屬性不能被移除。這意味著像Math,?Array,?Object內置對象的屬性以及使用Object.defineProperty()方法設置為不可設置的屬性不能被刪除。
Math
Array
Object
Object.defineProperty()
eval("var a=100;console.log(delete a)")這樣寫在火狐中返回false,在chrome中返回true,這是怎么回事?
我也聽不懂
arlenhui
cd?.. ls ls?-all
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
2 回答delete 刪除屬性時
2 回答屬性刪除問題
2 回答var obj={x:1}之后var obj=new foo(); 那obj之前的x屬性不是沒有了嗎??
4 回答拿到原型上的值不一定要刪除相同名字的屬性吧?
5 回答講的好么?能聽懂就奇怪了,明顯在裝逼
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-04-16
自己動手試一試,通常情況下,使用var去聲明的變量,不能被delete,例如:
var abc = 100;
delete abc; // 返回true
abc; // 還是100
但是在eval代碼里,就會不同,:
eval("var abc = 100;console.log(delete abc); console.log(abc);"); // 返回true, undefined
2019-10-22
delete?
操作符會從某個對象上移除指定屬性。成功刪除的時候回返回?true
,否則返回?false
。但是,以下情況需要重點考慮:如果你試圖刪除的屬性不存在,那么delete將不會起任何作用,但仍會返回true
如果對象的原型鏈上有一個與待刪除屬性同名的屬性,那么刪除屬性之后,對象會使用原型鏈上的那個屬性(也就是說,delete操作只會在自身的屬性上起作用)
任何使用?
var
?聲明的屬性不能從全局作用域或函數的作用域中刪除。這樣的話,delete操作不能刪除任何在全局作用域中的函數(無論這個函數是來自于函數聲明或函數表達式)
除了在全局作用域中的函數不能被刪除,在對象(object)中的函數是能夠用delete操作刪除的。
任何用
let
或const
聲明的屬性不能夠從它被聲明的作用域中刪除。不可設置的(Non-configurable)屬性不能被移除。這意味著像
Math
,?Array
,?Object
內置對象的屬性以及使用Object.defineProperty()
方法設置為不可設置的屬性不能被刪除。2016-03-23
eval("var a=100;console.log(delete a)")這樣寫在火狐中返回false,在chrome中返回true,這是怎么回事?
2015-04-16
我也聽不懂
2015-04-15