判断JS对象是否拥有某种属性的两种方式_javascript技巧
May 16, 2016 pm 05:11 PM两种方式,但稍有区别
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的缺陷

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS

Qu'est-ce que l'objet Request en PHP ?

Comment convertir le tableau de résultats d'une requête MySQL en objet ?

Quelle est la différence entre les tableaux et les objets en PHP ?

syntaxe de l'attribut inférieur en CSS

À quoi dois-je faire attention lorsqu'une fonction C++ renvoie un objet ?

Un guide pratique pour remplacer rapidement les attributs de balise de page Web par jQuery
