理解JAVASCRIPT中hasOwnProperty()的作用


Posted in Javascript onJune 05, 2013

JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。

hasOwnProperty()使用方法:

object.hasOwnProperty(proName)
其中参数object是必选项。一个对象的实例。
proName是必选项。一个属性名称的字符串值。

如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true;反之则返回 false。此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。在下例中,所有的 String 对象共享一个公用 split 方法。下面的代码将输出 false 和 true。

var s = new String("JScript");
print(s.hasOwnProperty("split"));
print(String.prototype.hasOwnProperty("split"));

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

Js代码

1. object.hasOwnProperty(proName); 

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

1. 示例一:

var bStr = "Test String".hasOwnProperty("split");    // 得到false, 因为不能检测原型链中的属性 

但是:

"Test String".split(" ");是能成功调用的

2.示例二:

var bStr1 = String.prototype.hasOwnProperty("split"); //String对象的原型上本来就有这个属性,自然返回true 

3. 示例三

 var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); // 返回true,因为对象中属性 存在

 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 相关文章推荐
IE JS无提示关闭窗口不提示的方法
Apr 29 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
jQuery判断iframe中元素是否存在的方法
May 11 Javascript
javascript实现tab切换的两个实例
Nov 05 Javascript
JavaScript知识点整理
Dec 09 Javascript
浅谈JavaScript for循环 闭包
Jun 22 Javascript
值得分享的Bootstrap Table使用教程
Nov 23 Javascript
js数组与字符串常用方法总结
Jan 13 Javascript
用vscode开发vue应用的方法步骤
May 06 Javascript
React路由鉴权的实现方法
Sep 05 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 Javascript
在vue中通过render函数给子组件设置ref操作
Nov 17 Vue.js
jquery 面包屑导航 具体实现
Jun 05 #Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
Jun 05 #Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 #Javascript
JQuery AJAX 中文乱码问题解决
Jun 05 #Javascript
Javascript自定义排序 node运行 实例
Jun 05 #Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 #Javascript
jquery实现控制表格行高亮实例
Jun 05 #Javascript
You might like
收集的DedeCMS一些使用经验
2007/03/17 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
python对一个数向上取整的实例方法
2020/06/18 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
授权委托书范本
2014/04/03 职场文书
环保倡议书400字
2014/05/15 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
关于迟到的检讨书
2015/05/06 职场文书
运动会广播稿50字
2015/08/19 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
2016年清明节寄语
2015/12/04 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL