理解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 相关文章推荐
js判断游览器类型及版本号的代码
May 11 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
JQuery操作元素的css样式
Mar 09 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
Bootstrap3制作自己的导航栏
May 12 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
详解使用nvm管理多版本node的方法
Aug 30 Javascript
小程序实现单选多选功能
Nov 04 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
微信小程序swiper禁止用户手动滑动代码实例
Aug 23 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
vue实现移动端项目多行文本溢出省略
Jul 29 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 && 逻辑与运算符使用说明
2010/03/04 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
jQuery 使用个人心得
2009/02/26 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
numpy数组拼接简单示例
2017/12/15 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
python 串行执行和并行执行实例
2020/04/30 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
前台接待岗位职责
2013/12/03 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
家电业务员岗位职责
2014/03/10 职场文书
县级文明单位申报材料
2014/05/23 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android