`
465272694
  • 浏览: 52378 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

hasOwnProperty是js中唯一一个处理属性但是不查找原型链的函数

 
阅读更多

 

Object.prototype.prop = 'propsss';
var obj = {und:undefined};
 
 
alert(obj.hasOwnProperty('prop')); // false
alert(obj.hasOwnProperty('und')); // true
//只有hasOwnProperty可以给出正确和期望的结果,尤其在遍历一个对象时
//除了hasOwnProperty外,没有其他方法可以排除原型链上的属性(不是定义在对象自身上的属性)

 

测试链接:http://jsfiddle.net/56Fdr/

 

Object的每个实例都具有下列属性方法:
1.Constructor:保存着用于创建当前对象的函数 上面例子 构造函数就是 Object()
2.hasOwnProperty(prop):检查给定的属性是否在当前对象实例中(而不是在实例的原型中)。作为参数的属性必须以string形式指定
3.isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型。
4.propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for in语句
5.toLocaleString():返回对象的字符串表示,与环境的地区对应
6.toString():同上
7.valueOf(): 返回对象的字符串、number、Boolean表示。通常与toString()相同
分享到:
评论

相关推荐

    JavaScript hasOwnProperty() 函数实例详解

    JavaScript中的`hasOwnProperty()`函数是用于检测对象是否在其自身的属性列表中包含某个特定的属性,而不考虑该属性是否存在于原型链上。这个方法是Object对象的一个内置方法,因此所有JavaScript对象(除了null)都...

    js中的继承与原型链1

    当尝试访问一个对象的属性时,JavaScript会沿着对象的`__proto__`属性所指向的原型链进行查找。如果在当前对象上找不到该属性,就会继续在原型对象上寻找,直到找到属性或者到达原型链的末尾(即`null`)。 ### 在...

    第六课 原型与原型链-011

    在JavaScript中,原型和原型链是理解对象继承和属性查找机制的关键概念。本文将深入探讨这两个概念,并通过实例解析它们的工作原理。 首先,我们要区分"显式原型"(prototype)和"隐式原型"(__proto__)。`...

    详解js中的原型,原型对象,原型链

    首先,每个函数在创建时都会自动获得一个`prototype`属性,这个属性是一个对象,用于存放可以被该函数实例共享的属性和方法。在例子中,我们定义了一个`Person`函数,然后在`Person.prototype`上添加了`name`、`age`...

    JavaScript中in和hasOwnProperty区别详解

    在JavaScript中,`in`操作符和`hasOwnProperty()`...了解这两者的区别可以帮助我们更准确地处理JavaScript中的对象属性,尤其是在处理继承和原型链时。理解这些基础概念对于编写高效和可靠的JavaScript代码至关重要。

    小码哥原型对象使用的注意点共4页.pdf.zip

    当试图访问实例对象的一个属性或方法时,如果该对象自身没有这个属性,JavaScript会查找其原型对象,如果原型对象也没有,就会继续查找原型的原型,直到找到该属性或达到原型链的末端。 2. 原型链(Prototype Chain...

    浅谈js使用in和hasOwnProperty获取对象属性的区别

    例如,当你在构造函数中使用`hasOwnProperty`来初始化对象的属性时,可以确保你不会不小心覆盖掉原型链上的属性。同时,当你想要检测一个对象是否具有某个原型链上的属性时,使用`in`会更加合适。 此外,还有几点...

    深入理解JavaScript系列(6) 强大的原型和原型链

    当试图访问一个对象上的属性时,如果该属性不存在,JavaScript会沿着原型链向上查找,直到找到该属性或者到达原型链的顶部(即`null`)。 让我们深入探讨原型和原型链的概念: 1. **原型(Prototype)**: - 对象...

    深入理解javascript构造函数和原型对象

    当访问一个对象的属性或方法时,如果在对象本身中找不到,JavaScript引擎会继续在其原型对象中查找,这个过程会一直持续到找到该属性或方法,或者到达原型链的末端(即Object的原型对象)。 工厂模式是一种创建对象...

    javascript prototype文档.rar

    在JavaScript中,每个函数都有一个`prototype`属性,这个属性是一个对象,用于添加或扩展实例方法。当尝试访问一个对象的属性时,如果该对象本身没有这个属性,JavaScript会查找其原型,如果原型也没有,就继续查找...

    js代码-原型链题目

    3. **原型链的形成**: 当试图访问一个对象的属性时,JavaScript会首先在该对象自身的属性中查找,如果没有找到,就会沿着`__proto__`链向上查找,直到找到该属性或到达`null`(所有链的顶端),这构成了原型链。...

    JavaScript中关联原型链属性特性

    在JavaScript中,原型链是实现继承的核心机制,它涉及到对象属性的查找和访问。属性分为两种类型:数据属性和访问器属性。本文将主要探讨数据属性及其四个描述行为特性的详细知识。 数据属性包含了存储数据值的位置...

    JavaScript_Prototype(源代码+中文手册).rar

    1. **原型链**:当试图访问一个对象的属性时,JavaScript会首先在该对象自身查找,如果没有找到,就会沿着原型链向上搜索,直到找到该属性或者到达原型链的顶端(即`null`)。这就是所谓的原型链。 2. **构造函数、...

    javascript中类和继承(代码示例+prototype.js)

    这样,当试图访问一个对象的属性时,如果该对象上不存在,就会沿着原型链向上查找,直到找到为止。 ```javascript let person1 = new Person('Alice'); console.log(person1.hasOwnProperty('sayName')); // false ...

    prototype

    综上所述,"prototype"在JavaScript中涉及的是原型和原型链的概念,而在描述中的`prototype.js`则可能是指Prototype JavaScript库,该库提供了丰富的DOM操作、事件处理、Ajax等功能,极大地提高了开发效率。

    悟透JavaScript

    当我们试图访问一个对象的属性时,如果该属性不存在,JavaScript会查找其原型,如果原型上也没有,就会继续查找原型的原型,直到找到为止,这就是所谓的原型链。 原型链的顶端是null,表示查找结束。通过Object....

    prototype中文手册

    当试图访问一个对象的属性时,如果该属性在当前对象中不存在,JavaScript会向上查找原型对象,直到找到该属性或到达原型链的顶端(即`null`)。 ### 2. `Object.create()`方法 `Object.create()`是一个用于创建新...

    prototype资料很全

    JavaScript中的原型链是由`__proto__`链接的一系列对象构成的,它使得一个对象可以访问其构造函数`prototype`上的属性和方法,乃至其构造函数的构造函数的`prototype`,以此类推。这构成了JavaScript中查找属性的...

Global site tag (gtag.js) - Google Analytics