JavaScript中判斷是否存在某屬性
Js中的屬性分為兩種,一種是固有屬性,另外是程式設計時賦預予的屬性,這兩種屬性的判斷方式是不一樣的。
1.使用in關鍵字。
該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。
var o={x:1}; "x" in o; //true,自有屬性存在 "y" in o; //false "toString" in o; //true,是一個繼承屬性
2.使用物件的hasOwnProperty()方法。
該方法只能判斷自有屬性是否存在,對於繼承屬性會返回false。
var o={x:1}; o.hasOwnProperty("x"); //true,自有屬性中有x o.hasOwnProperty("y"); //false,自有屬性中不存在y o.hasOwnProperty("toString"); //false,這是一個繼承屬性,但不是自有屬性
3.用undefined判斷
自有屬性和繼承屬性均可判斷。
var o={x:1}; o.x!==undefined; //true o.y!==undefined; //false o.toString!==undefined //true
該方法存在一個問題,如果屬性的值就是undefined的話,該方法不能返回想要的結果,如下。
var o={x:undefined}; o.x!==undefined; //false,屬性存在,但值是undefined o.y!==undefined; //false o.toString!==undefined //true
4.在條件語句中直接判斷
var o={}; if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或NaN,它將保持不變
一般來說,用第4種比較簡便
相關文章
- JavaScript 判斷物件中是否有某屬性JavaScript物件
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- JavaScript 判斷函式是否存在JavaScript函式
- js判斷物件裡面是否有某個屬性JS物件
- Java 判斷JSONObject是否包含含有某個屬性值(key)JavaJSONObject
- mysql如何判斷是否存在某個欄位MySql
- sqlserver判斷欄位值是否存在某個字元SQLServer字元
- 寫個方法判斷陣列物件中是否存在某個物件陣列物件
- sql 判斷 某列中是否包含 某種符號SQL符號
- Array · 判斷某元素是否在陣列中陣列
- java判斷mysql中資料庫是否存在JavaMySql資料庫
- golang判斷檔案是否存在Golang
- MySQL判斷表名是否存在MySql
- QJsonObject判斷欄位是否存在JSONObject
- postgresql如何判斷表是否存在SQL
- python 判斷檔案是否存在Python
- 多個陣列,判斷鍵值是否存在從屬關係陣列
- 判斷Map集合中是否存在某一個key
- shell判斷系統路徑中是否存在空格
- 判斷是否遵守某個協議協議
- Laravel 5 判斷條件是否存在Laravel
- 判斷objectStore物件倉庫是否存在Object物件
- jQuery 判斷使用者是否存在jQuery
- 怎麼判斷mysql表是否存在MySql
- js判斷dom節點是否存在JS
- nginx判斷路徑是否含有某個引數做判斷Nginx
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- jQuery中判斷input的disabled屬性jQuery
- sh指令碼判斷路徑是否存在指令碼
- JavaScript判斷字串是否為空JavaScript字串
- JavaScript 判斷是否是陣列JavaScript陣列
- java判斷實體內中屬性值內容是否有變更(包含父類屬性值)Java
- oracle中判斷欄位是否存在和新增表結構Oracle
- JavaScript 判斷checkbox核取方塊是否選中JavaScript
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- 如何判斷FMEA的存在是否還有意義?
- jquery怎麼樣判斷檔案是否存在jQuery
- 如何判斷 JavaScript 物件是否為空?JavaScript物件
- javascript 判斷括號是否配對。JavaScript