`

理解hasOwnProperty()的作用

阅读更多
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。格式如下:
Js代码

   1. object.hasOwnProperty(proName); 

object.hasOwnProperty(proName);

判断proName的名称是不是object对象的一个属性或对象。



举例如下:
Js代码

   1. var bStr = "Test String".hasOwnProperty("split");    // 得到false, 因为不能检测原型链中的属性 
   2. var bStr1 = String.prototype.hasOwnProperty("split"); //String对象的原型上本来就有这个属性,自然返回true 
   3. var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); // 返回true,因为不是检测原型中的属性 

var bStr = "Test String".hasOwnProperty("split");    // 得到false, 因为不能检测原型链中的属性
var bStr1 = String.prototype.hasOwnProperty("split"); //String对象的原型上本来就有这个属性,自然返回true
var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); // 返回true,因为不是检测原型中的属性



http://www.w3school.com.cn/js/as_js_referencetypes.asp
Object 对象

Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。
Object 对象具有下列属性:

constructor
    对创建对象的函数的引用(指针)。对于 Object 对象,该指针指向原始的 Object() 函数。
Prototype
    对该对象的对象原型的引用。对于所有的对象,它默认返回 Object 对象的一个实例。

Object 对象还具有几个方法:

hasOwnProperty(property)
    判断对象是否有某个特定的属性。必须用字符串指定该属性。(例如,o.hasOwnProperty("name"))
IsPrototypeOf(object)
    判断该对象是否为另一个对象的原型。
PropertyIsEnumerable
    判断给定的属性是否可以用 for...in 语句进行枚举。
ToString()
    返回对象的原始字符串表示。对于 Object 对象,ECMA-262 没有定义这个值,所以不同的 ECMAScript 实现具有不同的值。
ValueOf()
    返回最适合该对象的原始值。对于许多对象,该方法返回的值都与 ToString() 的返回值相同。
分享到:
评论

相关推荐

    理解JAVASCRIPT中hasOwnProperty()的作用

    JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。 hasOwnProperty()使用方法: object.hasOwnProperty(proName)其中参数object是必选项。一个对象的实例。proName是必...

    js的hasownproperty使用示例

    hasOwnProperty方法的使用示例可以帮助我们更好地理解这个方法的作用。例如,如果我们创建一个数组,并使用for...in循环遍历这个数组,我们会得到数组自身的索引属性以及从Array原型上继承来的属性。如果在Array的...

    JavaScript hasOwnProperty() 函数实例详解

    让我们看一个例子来更好地理解这个函数的用法: ```javascript function Site() { this.name = "CodePlayer"; this.url = "http://www.365mini.com/"; this.sayHello = function() { document.writeln("欢迎...

    js中的hasOwnProperty和isPrototypeOf方法使用实例

    JavaScript(简称js)是一种高级的、解释型的编程...而示例中提供的代码片段,通过实际的js程序操作演示了如何使用hasOwnProperty和isPrototypeOf方法,使得开发者可以更好地理解和掌握这两个方法在实际编程中的应用。

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

    在JavaScript中,获取对象属性的方法主要有两种:`in`运算符和`hasOwnProperty()`方法。它们之间存在着明显的差异,理解这些差异对于编写高效且准确的JavaScript代码至关重要。 首先,`in`运算符用于检查给定的对象...

    JavaScript中in和hasOwnProperty区别详解

    在JavaScript中,`in`操作符和`hasOwnProperty()`方法都是用来检查对象是否拥有特定的属性,但它们之间存在显著的差异。理解这些差异对于精确地处理对象的属性至关重要。 首先,`in`操作符的工作原理是遍历对象及其...

    JS中的hasOwnProperty()和isPrototypeOf()属性实例详解

    `hasOwnProperty()`和`isPrototypeOf()`是JavaScript中理解对象和原型链的关键方法。它们可以帮助开发者更精确地控制和操作对象属性,确保代码的准确性和效率。同时,理解这两个方法对于解决继承和属性查找问题至关...

    浅析hasOwnProperty方法的应用

    `hasOwnProperty`方法在处理JSON数据、验证对象属性是否存在、以及优化性能(特别是避免遍历大量原型链属性)等方面都有重要作用。在编写JavaScript代码时,正确使用`hasOwnProperty`能确保代码更加健壮,避免因意外...

    JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()

    在JavaScript中,`hasOwnProperty()`, `propertyIsEnumerable()`, 和 `isPrototypeOf()` 是三个非常重要的对象属性和方法,它们帮助我们深入理解JavaScript对象的工作原理,特别是与对象属性的枚举、原型链以及属性...

    JavaScript isPrototypeOf和hasOwnProperty使用区别

    此外,在面向对象的编程模式中,isPrototypeOf和hasOwnProperty方法也是理解和实现原型继承、封装等概念的重要工具。例如,在利用继承创建新对象时,你可能需要确认子类对象是否确实继承了父类的方法,或者在封装中...

    Javascript hasOwnProperty 方法 & in 关键字

    Javascript中的`hasOwnProperty`方法和`in`关键字是用于检查对象属性的两种不同方式。`hasOwnProperty`方法用于判断对象是否包含特定的属性,且这个属性必须是该...在进行属性检查时,理解这两者的区别是非常重要的。

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

    它们之间存在着明显的区别,理解这些差异对于编写高效且准确的JavaScript代码至关重要。 首先,`in`运算符用于检查对象(包括其原型链)中是否存在指定的属性。这意味着,如果我们在一个对象实例上调用`in`运算符,...

    js代码-去重:filter + hasOwnProperty

    这两种方法都能有效地去重,但 `filter` 方法通常被认为更加简洁且易于理解。然而,需要注意的是,`indexOf` 在大型数组中可能性能较低,因为它需要对数组进行线性搜索。在某些情况下,使用 `Set` 结构或 `reduce` ...

    MFC树形控件使用方法

    在Windows应用程序开发中,MFC(Microsoft Foundation Classes...理解和掌握CTreeCtrl的使用方法,能帮助你在Windows应用开发中更好地组织和展示信息。正确处理鼠标事件,尤其是单击和双击,对于提升用户体验至关重要。

    You-Dont-Know-JS

    这套书籍深入探讨了JavaScript的核心概念,包括作用域、闭包、原型、异步编程、类型系统等多个关键主题,帮助开发者提升对JavaScript本质的理解。 在压缩包文件`You-Dont-Know-JS-master`中,我们可以期待找到与...

    javascript写类方式之九

    随着ES6的引入,类语法被正式引入,使得代码更加清晰和易于理解。下面我们将深入探讨JavaScript中的类定义方法,以及如何使用它们。 1. **函数构造器**:在ES6之前,我们主要通过函数构造器来模拟类。一个函数如果...

    Advanced JavaScript Essentials v1.pdf

    通过解析变量提升和嵌套函数的闭包,学习者将能够深入理解JavaScript的作用域链和作用域链的检查。 8. 函数的调用方式 这部分内容详细介绍了函数的不同调用方法,以及在调用过程中this关键字如何被处理。通过实践...

Global site tag (gtag.js) - Google Analytics