js中的屬性檢測,主要就是檢測乙個屬性是否屬於某個物件。常用的方式主要有3種:in、hasownproperty()、propertyisenumerable()。
in運算子
in運算子的左側為屬性名稱,右側為物件。
var obj = ;
console.log("name" in obj); //true
console.log("salary" in obj); //false
因為在物件obj中有name屬性,所以在"name" in obj語句中的結果為true,而屬性"salary"既不在物件obj中,也沒有在obj繼承的物件中,所以語句"salary" in obj的結果為false。
hasownproperty()
hasownproperty()是物件的乙個方法,可以用來檢測乙個屬性是否是物件的自有屬性,如果是自有屬性(包括內建屬性和可編輯屬性)就返回true,否則返回false。
var obj = ;
console.log(obj.hasownproperty("salary")); //false
console.log(obj.hasownproperty("name")); //true
salary不是物件obj的自有屬性,所以列印出了false,而name則是obj的自有屬性,所以結果就是true。
propertyisenumerable()
propertyisenumerable()是hasownproperty()的增強版,除了是自身屬性外,還要求是可列舉屬性,即我們建立的屬性。
var obj = ;
console.log(obj.propertyisenumerable("name")); //true
console.log(obj.propertyisenumerable("salary")); //false
js學習筆記 032 檢測屬性
var o x in o true y in o false tostring in o true o繼承tostring屬性 物件的hasownproperty 方法用來檢測給定的名字是否是物件的自有屬性,對於繼承屬性它將返回false var o o.hasownproperty x true ...
JS中型別的檢測
在js開發中,經常需要檢測乙個變數的型別。現在就總結一下常見的檢測變數型別的方法,以及它們的適用場景。一 typeof 要檢測乙個變數是不是基本資料型別,typeof是最佳的工具。也就是說,typeof是確定乙個變數是字串 數值 布林值還是undefined的最佳工具。但如果變數是乙個物件或者nul...
JS中的各種檢測
1 null 只在肯定返回null值時才使用null比較 2var element document.getelementbyid my div 3if element null 6 string number boolean undefined 7var num 123 8if typeof nu...