JS物件操作(in、instanceof、delete)運算子
js教程物件操作運算主要是針對物件、陣列、函式這 3 類複合型物件執行某種程式,設計的運算子包括 in、instanceof、delete。
本篇文章由 泉州SEO www.234yp.com 整理髮布,js教程 www.234yp.com/Article/188250.html 謝謝合作!
歸屬檢測
in
運算子能夠檢測左側運算元是否為右側運算元的成員。其中,左側運算元是一個字串,或者可以轉換為字串的表示式,右側運算元是一個物件或陣列。
示例1
下面程式碼使用 in 運算子檢測屬性 a、b、c、valueOf 是否為物件 o 的成員。
var o = { //定義物件 a : 1, //定義屬性a b : function() {} //定義方法b } console.log("a" in o); //返回true console.log("b" in o); //返回true console.log("c" in o); //返回false console.log("valueOf" in o); //返回true,繼承Object的原型方法 console.log("constructor" in o); //返回true,繼承Object的原型屬性
instanceof
運算子能夠檢測左側的物件是否為右側型別的示例。
示例2
下面程式碼使用 instanceof 檢測陣列 a 是否為 Array、Object 和 Function 的示例。
var a = new Array(); //定義陣列 console.log(a instanceof Array); //返回true console.log(a instanceof Object); //返回true,Array是Object的子類 console.log(a instanceof Function); //返回false
如果左側運算元不是物件,或者運算元不是型別函式,則返回 false。如果右側運算元不是複合型物件,則將返回錯誤。
刪除屬性
delete
運算子能夠刪除指定物件的屬性、陣列元素或變數。如果刪除操作成功,則返回 true;否則返回 false。
示例1
下面程式碼使用 delete 運算子刪除物件 a 的屬性 x。
var a = { //定義物件a x : 1, //定義物件成員 y : 2 //定義物件成員 }; console.log(a.x); //呼叫物件成員,返回1 console.log(delete a.x); //刪除物件成員x成功,返回true console.log(a.x); //返回undefined,沒有找到該物件成員
部分 JavaScript 內建成員和客戶端成員,以及使用 var 語句宣告的變數不允許刪除。
c = 1; //初始化變數c,沒有使用var語句宣告 console.log(delete c); //返回true,說明刪除成功 var b = 1; //使用var語句宣告並初始化變數 console.log(delete b); //返回false,說明不允許刪除 console.log(delete Object.constructor); //返回true,說明部分內部成員可以被刪除
示例2
如果刪除不存在的物件成員、陣列元素、變數,則返回 true。因此,使用 delete 運算子時,要注意區分成功刪除與無效操作。
var s = {}; //定義物件a console.log(delete a); //返回false,說明不允許刪除 console.log(delete a.z); //返回true,說明不存在該屬性 console.log(delete b); //返回true,說明不存在該變數
示例3
下面程式碼使用 delete 運算子,配合 in 運算子,實現對陣列成員執行檢測、插入、刪除或更新操作。
var a = []; //定義陣列物件 if("x" in a){ //如果物件a中存在x delete a["x"]; //則刪除成員x }else{ //如果不存在成員x a["x"] = true; //則插入成員x,併為其賦值true } console.log(a.x); //返回true。檢視成員x的值 if(delete a["x"]){ //如果刪除成員x成功 a["x"] = false; //更新成員x的值為false } console.log(a.x); //返回false。檢視成員x的值
關於更多js教程內容,可以收藏本網頁。
泉州夜網泉州新聞網是泉州新聞地區唯一的新聞入口網站
相關文章
- 【重溫基礎】instanceof運算子
- js運算子JS
- js運算子 “==” 與 “===”JS
- js相等運算子JS
- JS-11 運算子之布林運算子JS
- js中的運算子JS
- JS-7 typeof 運算子JS
- JS 中的邏輯運算子JS
- 細數JS中實用且強大的操作符&運算子JS
- java零基礎自學第一天②,運算子:表示式,算術運算子,+操作,賦值運算子,自增自減運算子,關係運算子,邏輯運算子,三元運算子Java賦值
- 運算子 運算子
- JS — 物件的基本操作JS物件
- 你真的瞭解js運算子嗎JS
- js中的|與 && 運算子詳解JS
- js中 ~(按位非)運算子妙用JS
- 位運算子在JS中的妙用JS
- JavaScript 2.3 js之||、&&、|、&、三目運算子JavaScriptJS
- JS 邏輯運算子的特點JS
- Python的運算物件、運算子、表示式和語句Python物件
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- Python入門(五):Python常用操作運算子Python
- 運算子-賦值運算子賦值
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- JS基礎入門篇(七)—運算子JS
- 8.Golang中的運算子-算術運算子、關係運算子、邏輯運算子、賦值運算子Golang賦值
- Lua騷操作——三元條件運算子
- JS 中一些高效的魔法運算子JS
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- 運算子
- []==''返回?為什麼?運算子==進行了什麼操作?
- 12 Python物件導向程式設計:運算子過載Python物件程式設計
- javascript中&&運算子和||運算子的使用JavaScript
- 算術運算子裡的特殊運算子
- Python 運算子優先順序 運算子Python
- Js型別轉換之相等運算子[初級]JS型別
- Python學習-算術運算子,賦值運算子和複合運算子Python賦值
- php運算子運用之型別運算子該如何使用PHP型別
- C++ 迭代器運算子 箭頭運算子->C++