理解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 相关文章推荐
jquery 模拟雅虎首页的点击对话框效果
Apr 11 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
ES6中字符串的使用方法扩展
Jun 04 Javascript
js实现选项卡效果
Mar 07 Javascript
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
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
使用python实现rsa算法代码
2016/02/17 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
详解Python time库的使用
2019/10/10 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
自主招生自荐信格式
2013/12/03 职场文书
行政部主管岗位职责
2013/12/28 职场文书
满月酒答谢词
2014/01/14 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
召开会议通知范文
2015/04/15 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
开学第一天的感想
2015/08/10 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
如何Python使用re模块实现okenizer
2022/04/30 Python