判斷JS物件是否擁有某屬性

2021-04-11 15:46:14 字數 2349 閱讀 3634

1樓:匿名使用者

1,in 運算子

var obj = ;

alert('name' in obj); // --> true

alert('tostring' in obj); // --> true

可看bai到無論是name,還是原形du鏈上的zhitostring,都能檢測到返回

daotrue。

2,hasownproperty 方法

var obj = ;

obj.hasownproperty('name'); // --> true

obj.hasownproperty('tostring'); // --> false

原型鏈內

上繼承過來的屬性無法通過容hasownproperty檢測到,返回false。

參見

判斷js物件是否擁有某屬性

2樓:匿名使用者

第一種bai,判斷js物件中是否

du有某個屬zhi性

var obj = ;

if('test' in obj) else第二種,判斷js物件本身是dao

否有某個屬專性(所謂本身有意思屬是,必須屬性是直接在物件上的,而不是通過原型鏈上找到的。

var base = function(){};

base.prototype.test = 'test';

var obj = new base();

obj.test2 = 'test2';

if('test1' in obj) elseif(obj.hasownproperty('test2')) else

//用in 操作符,可以判斷有沒有。 用hasownproperty來判斷在自身有沒有。

3樓:逍遙狂儒

可以用 in操作符 和 物件的 hasownproperty 操作符舉例"name" in object

object.hasownproperty("name")有個公共專

的方法屬

function hasprototype(object,name)

判斷js物件是否擁有某屬性

4樓:day說好了不哭

object.hasownproperty.call(物件, '屬性')

用call方法避免更改原型鏈中的hasownproperty方法

5樓:壬盛海爾風

可以用bai

in操作

du符zhi

和物件的dao

hasownproperty

操作符舉例

"name"

inobject

object.hasownproperty("name")有個公共版的方權法

function

hasprototype(object,name)

判斷js物件是否擁有某屬性

6樓:匿名使用者

用hasownproperty(),如

var obj = ;

alert(obj.hasownproperty("a")); // true

7樓:猶紫巢真一

兩種方式,但稍有區別

1,in

運算子var

obj=

;alert('name'

inobj);

//-->

true

alert('tostring'

inobj);

//-->

true

可看到無論是name,還是原形鏈上的版tostring,都能檢測到返回true。權

2,hasownproperty

方法var

obj=

;obj.hasownproperty('name');

//-->

true

obj.hasownproperty('tostring');

//-->

false

原型鏈上繼承過來的屬性無法通過hasownproperty檢測到,返回false。

需注意的是,雖然in能檢測到原型鏈的屬性,但forin通常卻不行。

當然重寫原型後for

in在ie9/firefox/safari/chrome/opera下是可見的。見:for

in的缺陷

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!

js判斷變數或物件是否存在,js判斷一個變數或物件是否存在

1 首先建立兩個檔案,一個jstest.html,一個jstest.js檔案。2 開啟html在裡面引入jstest.js。3 開啟jstest.js檔案,建立一個方法aa。4 然後接著使用if typeof aa function 判斷如果aa方法存在就提示 aa方法存在 否則彈出 aa方法不存在...

c怎麼判斷物件物件是否被new,c 怎麼判斷物件物件是否被new?

不用new的記憶體 bai區域是在棧,會 du自動分zhi配空間,一般在區域性變數 dao時使用,函回數結束後會 答自動釋放空間,用new的內在區域是在堆,要自己手動分配空間,使用完後要手動釋放空間,另外棧中空間的分配一般在編譯時就知道大小了,而如果要在執行時分配空間,就要使用堆了 a null 判...

js如何判斷物件為空,js如何判斷一個物件為空

function isnull obj js怎麼判斷一個物件是否為空?判斷一個物件是否為空,介紹如下三種判斷方法 1 直接用for.in.遍歷屬性,結果為真是 非空陣列 否則是 空陣列 如下 function judgeobj obj return alert 空物件 2 通過json自帶的.str...