国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript的delete運算符知識點總結

2024-05-06 15:43:54
字體:
來源:轉載
供稿:網友

delete是一元操作符,它用來刪除對象屬性或者數組元素。就像 賦值、遞增、遞減運算符一樣,delete也是具有副作用的,它是用來做刪除操作的,不是用來返回一個值的,例如:

var o = { x: 1, y: 2};     // 定義一個對象delete o.x;           // 刪除一個屬性 "x" in o            // => false:這個屬性在對象中不再存在 var a = [1,2,3];        // 定義一個數組 delete a[2];          // 刪除最后一個數組元素 2 in a;             // => false:元素2在數組中已經不存在了 a.length            // => 3:注意,數組長度并沒有改變,盡管上一行代碼刪除

需要注意的是,刪除屬性或者刪除數組元素不僅僅是設置了一個 undefined的值。當刪除一個屬性時,這個屬性將不再存在。讀取一個不 存在的屬性將返回undefined,但是可以通過in運算符(見4.9.3節)來檢測這個屬性是否在對象中存在。

delete希望他的操作數是一個左值,如果它不是左值,那么delete將 不進行任何操作同時返回true。否則,delete將試圖刪除這個指定的左 值。如果刪除成功,delete將返回true。然而并不是所有的屬性都可刪 除,一些內置核心和客戶端屬性是不能刪除的,用戶通過var語句聲明 的變量不能刪除。同樣,通過function語句定義的函數和函數參數也不能刪除。

在ECMAScript 5嚴格模式中,如果delete的操作數是非法的,比如 變量、函數或函數參數,delete操作將拋出一個語法錯誤 (SyntaxError)異常,只有操作數是一個屬性訪問表達式(見4.4節)的 時候它才會正常工作。在嚴格模式下,delete刪除不可配置的屬性(參 照6.7節)時會拋出一個類型錯誤異常。在非嚴格模式下,這些delete操 作都不會報錯,只是簡單地返回false,以表明操作數不能執行刪除操作。

這里有一些關于delete運算符的例子:

var o = {x:1, y:2};   //定義一個變量,初始化為對象 delete o.x;       //刪除一個對象屬性,返回true typeof o.x;       //屬性不存在,返回"undefined" delete o.x;       //刪除不存在的屬性,返回true delete o;        //不能刪除通過var聲明的變量,返回false//在嚴格模式下,將拋出一個異常 delete 1;        //參數不是一個左值,返回true this.x = 1;       //給全局對象定義一個屬性,這里沒有使用var delete x;        //試圖刪除它,在非嚴格模式下返回true            //在嚴格模式下會拋出異常,這時使用"delete this.x"來代替    x;       //運行時錯誤,沒有定義x

以上就是關于javascript中delete運算符的基礎知識點,感謝大家的學習和對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 北川| 米林县| 什邡市| 佳木斯市| 新宁县| 余姚市| 如东县| 子洲县| 二连浩特市| 抚顺县| 铁力市| 济南市| 舞钢市| 富锦市| 澄城县| 舞阳县| 鱼台县| 潢川县| 衡东县| 涟水县| 沁阳市| 望城县| 九寨沟县| 周宁县| 越西县| 巴马| 宽城| 隆林| 梧州市| 宣城市| 绥中县| 侯马市| 民丰县| 蒙阴县| 龙江县| 延津县| 芦溪县| 满洲里市| 天台县| 利津县| 买车|