理解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 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
Jan 02 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
Dec 01 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
JS简单实现数组去重的方法分析
Oct 14 Javascript
Vue2仿淘宝实现省市区三级联动
Apr 15 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 Javascript
JavaScript实现随机点名小程序
Oct 29 Javascript
echarts浮动显示单位的实现方法示例
Dec 04 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
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python改变日志(logging)存放位置的示例
2014/03/27 Python
python使用arp欺骗伪造网关的方法
2015/04/24 Python
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
Python制作exe文件简单流程
2019/01/24 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
大学四年的个人自我评价
2014/01/14 职场文书
宣传工作经验材料
2014/06/02 职场文书
女生抽烟检讨书
2014/10/05 职场文书
公司经营目标责任书
2015/01/29 职场文书
先进个人自荐书
2015/03/06 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
商务信函英语问候语
2015/11/10 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server