javascript中hasOwnProperty() 方法使用指南

 这篇文章主要详细介绍了javascript中hasOwnProperty() 方法使用指南,非常的全面,推荐给有需要的小伙伴参考下。

 
 

概述

hasOwnProperty() 方法用来判断某个对象是否含有指定的自身属性。

语法
obj.hasOwnProperty(prop)

参数

•prop

•要检测的属性名称。

描述

所有继承了 Object.prototype 的对象都会从原型链上继承到 hasOwnProperty 方法,这个方法可以用来检测一个对象是否含有特定的自身属性,和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。

示例

例1:使用 hasOwnProperty 方法判断某对象是否含有特定的自身属性

下面的例子检测了对象 o 是否含有自身属性 prop:

 

代码如下:

o = new Object();o.prop = 'exists';function changeO() {
o.newprop = o.prop;
delete o.prop;}o.hasOwnProperty('prop');
// 返回 true
changeO();
o.hasOwnProperty('prop');
// 返回 false

 

例2:自身属性和继承属性的区别

下面的例子演示了 hasOwnProperty 方法对待自身属性和继承属性的区别:

 

代码如下:

o = new Object();o.prop = 'exists';o.hasOwnProperty('prop');
// 返回 true
o.hasOwnProperty('toString');
// 返回 false
o.hasOwnProperty('hasOwnProperty');
// 返回 false

 

例3:遍历一个对象的所有自身属性

下面的例子演示了如何在遍历一个对象的所有属性时忽略掉继承属性,注意这里 for..in 循环只会遍历可枚举属性,这通常就是我们想要的,直接使用 Object.getOwnPropertyNames() 方法也可以实现类似的需求。

 

代码如下:

var buz = {
fog: 'stack'};
for (var name in buz) {
if (buz.hasOwnProperty(name)) {
alert("this is fog (" + name + ") for sure. Value: " + buz[name]);
}
else {
alert(name);
// toString or something else
}}

 

例4: hasOwnProperty 方法有可能被遮蔽

如果一个对象拥有自己的 hasOwnProperty 方法, 则原型链上的同名方法会被遮蔽(shadowed):

 

代码如下:

var foo = {
hasOwnProperty: function() {
return false;
},
bar: 'Here be dragons'};foo.hasOwnProperty('bar');
// 始终返回 false
// 如果担心这种情况,可以直接使用原型链上真正的 hasOwnProperty 方法
({}).hasOwnProperty.call(foo, 'bar');
// true
Object.prototype.hasOwnProperty.call(foo, 'bar');
// true

 

以上就是本文所述的全部内容了,希望大家能够喜欢。

时间: 2024-09-28 10:19:54

javascript中hasOwnProperty() 方法使用指南的相关文章

javascript中hasOwnProperty() 方法使用指南_基础知识

概述 hasOwnProperty() 方法用来判断某个对象是否含有指定的自身属性. 语法 obj.hasOwnProperty(prop) 参数 •prop •要检测的属性名称. 描述 所有继承了 Object.prototype 的对象都会从原型链上继承到 hasOwnProperty 方法,这个方法可以用来检测一个对象是否含有特定的自身属性,和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性. 示例 例1:使用 hasOwnProperty 方法判断某对象是否含有特定的自身属性

理解JAVASCRIPT中hasOwnProperty()的作用_javascript技巧

JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. hasOwnProperty()使用方法: object.hasOwnProperty(proName)其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对象的原型链中是否具有该属性

JavaScript中的方法、方法引用和参数学习

首先,我们来看一段代码,如何觉得不甚明白的,则本文会对你有益: var player = function (e) {            return (function f(m) {    return m ? (function (n) {        return $('#Player', n).get(0) || f($('iframe', n).get(0));    })(m.contentWindow.document) : null;  })($(e).get(0)); }

Javascript中indexof方法的妙用

JavaScript中indexOf方法的语法:theString.indexOf(subString,[n]).它在指定字符串对象中寻找传送的子字符串,如果指定参数n,它可以从指定的位置开始向前搜索(从左往右).如果找到子字符串,返回子字符串在字符串中的位置:如果没有找到相应的字符串,返回-1. 利用它的这个属性,我们可以叫它干很多事,只要你指挥得当. 一.判断OS 虽然HTTP协议是跨平台的,但你编写的HTML页面最终的显示效果却往往与客户端所用的操作系统有关.比如MSOS系列(MS-DOS

JavaScript中reduce()方法的使用详解

  这篇文章主要介绍了JavaScript中reduce()方法的使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下 JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值. 语法 ? 1 array.reduce(callback[, initialValue]); 下面是参数的详细信息: callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的第一次调用使用 返回值: 返回数组的减少单一个值

JavaScript中fixed()方法的使用简介

  这篇文章主要介绍了JavaScript中fixed()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法会导致就好像它是在一个的标签被显示在固定间距的字体的字符串. 语法 ? 1 string.fixed( ) 下面是参数的详细信息: NA 返回值: 返回字符串的标签 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <html> <head> <title>JavaScript String fixed() Metho

JavaScript中strike()方法的使用介绍

  这篇文章主要介绍了简介JavaScript中strike()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 这种方法会导致一个字符串显示为突出的文字,就好像它是显示在标签. 语法 ? 1 string.strike( ) 下面是参数的详细信息: NA 返回值: 返回字符串带有标签. 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head> <title>JavaScript String strike() Me

JavaScript中search()方法的使用

  这篇文章主要介绍了简介JavaScript中search()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 此方法执行搜索正则表达式,String对象之间的匹配. 语法 ? 1 string.search(regexp); 下面是参数的详细信息: regexp : 正则表达式对象.如果非RegExp对象obj传递,它是隐式通过使用new RegExp(obj) 转换为RegExp 返回值: 如果成功的话,搜索将返回字符串内的正则表达式的索引.否则,它返回 -1. 例子: ? 1

JavaScript中substring()方法的使用

  这篇文章主要介绍了简介JavaScript中substring()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 该方法返回一个String对象的一个子集. 语法 ? 1 string.substring(indexA, [indexB]) 下面是参数的详细信息: indexA : 介于0和1小于字符串的长度的整数. indexB : (可选)介于0和字符串的长度的整数. 返回值: substring方法返回基于给定参数的新的子字符串. 例子: ? 1 2 3 4 5 6 7