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函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。 hasOwnProperty()使用方法: object.hasOwnProperty(proName)其中参数object是必选项。一个对象的实例。proName是必...
hasOwnProperty方法的使用示例可以帮助我们更好地理解这个方法的作用。例如,如果我们创建一个数组,并使用for...in循环遍历这个数组,我们会得到数组自身的索引属性以及从Array原型上继承来的属性。如果在Array的...
让我们看一个例子来更好地理解这个函数的用法: ```javascript function Site() { this.name = "CodePlayer"; this.url = "http://www.365mini.com/"; this.sayHello = function() { document.writeln("欢迎...
JavaScript(简称js)是一种高级的、解释型的编程...而示例中提供的代码片段,通过实际的js程序操作演示了如何使用hasOwnProperty和isPrototypeOf方法,使得开发者可以更好地理解和掌握这两个方法在实际编程中的应用。
在JavaScript中,获取对象属性的方法主要有两种:`in`运算符和`hasOwnProperty()`方法。它们之间存在着明显的差异,理解这些差异对于编写高效且准确的JavaScript代码至关重要。 首先,`in`运算符用于检查给定的对象...
在JavaScript中,`in`操作符和`hasOwnProperty()`方法都是用来检查对象是否拥有特定的属性,但它们之间存在显著的差异。理解这些差异对于精确地处理对象的属性至关重要。 首先,`in`操作符的工作原理是遍历对象及其...
`hasOwnProperty()`和`isPrototypeOf()`是JavaScript中理解对象和原型链的关键方法。它们可以帮助开发者更精确地控制和操作对象属性,确保代码的准确性和效率。同时,理解这两个方法对于解决继承和属性查找问题至关...
`hasOwnProperty`方法在处理JSON数据、验证对象属性是否存在、以及优化性能(特别是避免遍历大量原型链属性)等方面都有重要作用。在编写JavaScript代码时,正确使用`hasOwnProperty`能确保代码更加健壮,避免因意外...
在JavaScript中,`hasOwnProperty()`, `propertyIsEnumerable()`, 和 `isPrototypeOf()` 是三个非常重要的对象属性和方法,它们帮助我们深入理解JavaScript对象的工作原理,特别是与对象属性的枚举、原型链以及属性...
此外,在面向对象的编程模式中,isPrototypeOf和hasOwnProperty方法也是理解和实现原型继承、封装等概念的重要工具。例如,在利用继承创建新对象时,你可能需要确认子类对象是否确实继承了父类的方法,或者在封装中...
Javascript中的`hasOwnProperty`方法和`in`关键字是用于检查对象属性的两种不同方式。`hasOwnProperty`方法用于判断对象是否包含特定的属性,且这个属性必须是该...在进行属性检查时,理解这两者的区别是非常重要的。
它们之间存在着明显的区别,理解这些差异对于编写高效且准确的JavaScript代码至关重要。 首先,`in`运算符用于检查对象(包括其原型链)中是否存在指定的属性。这意味着,如果我们在一个对象实例上调用`in`运算符,...
这两种方法都能有效地去重,但 `filter` 方法通常被认为更加简洁且易于理解。然而,需要注意的是,`indexOf` 在大型数组中可能性能较低,因为它需要对数组进行线性搜索。在某些情况下,使用 `Set` 结构或 `reduce` ...
在Windows应用程序开发中,MFC(Microsoft Foundation Classes...理解和掌握CTreeCtrl的使用方法,能帮助你在Windows应用开发中更好地组织和展示信息。正确处理鼠标事件,尤其是单击和双击,对于提升用户体验至关重要。
这套书籍深入探讨了JavaScript的核心概念,包括作用域、闭包、原型、异步编程、类型系统等多个关键主题,帮助开发者提升对JavaScript本质的理解。 在压缩包文件`You-Dont-Know-JS-master`中,我们可以期待找到与...
随着ES6的引入,类语法被正式引入,使得代码更加清晰和易于理解。下面我们将深入探讨JavaScript中的类定义方法,以及如何使用它们。 1. **函数构造器**:在ES6之前,我们主要通过函数构造器来模拟类。一个函数如果...
通过解析变量提升和嵌套函数的闭包,学习者将能够深入理解JavaScript的作用域链和作用域链的检查。 8. 函数的调用方式 这部分内容详细介绍了函数的不同调用方法,以及在调用过程中this关键字如何被处理。通过实践...