js中的屬性檢測

2021-08-20 10:29:10 字數 1035 閱讀 6519

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...