菜单

【澳门金沙国际】看清JS对象是还是不是享有某种属性的三种方法

2019年8月1日 - 金沙前端

三种格局,但稍有分别

1,in 运算符

复制代码 代码如下:

var obj = {name:’jack’};
alert(‘name’ in obj); // –> true
alert(‘toString’ in obj); // –> true

可看到无论是name,如故原形链上的toString,都能检验到重返true。

澳门金沙国际,2,hasOwnProperty 方法

复制代码 代码如下:

var obj = {name:’jack’};
obj.hasOwnProperty(‘name’); // –> true
obj.hasOwnProperty(‘toString’); // –> false

原型链上承继过来的性质不可能透过hasOwnProperty检验到,重返false。

需注意的是,即使in能检验到原型链的品质,但for in平时却不行。

自然重写原型后for
in在IE9/Firefox/Safari/Chrome/Opera下是可知的。见:for
in的缺陷

你只怕感兴趣的稿子:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图