判断JS对象是否具有某个特定属性的两种方法

两种方法,但有一点区别

1,运算符中

复制代码代码如下所示:
var obj = {姓名:杰克};
警报('name'in obj); / / /真的
警报('tostring'in obj); / / /真的


可以看出,双方的名称和说明对原链可以被检测到,返回真。

2、hasownproperty方法

复制代码代码如下所示:
var obj = {姓名:杰克};
obj.hasownproperty('name'); / / /真的
obj.hasownproperty('tostring '); / / /假



继承的属性在原型链不被hasownproperty回到错误检测。

重要的是要注意,虽然在内部可以检测原型链的属性,因为在通常是不。

当然,改写后的原型,在IE9 / /是Firefox Safari和Chrome / opera.see可见:缺陷在