理解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 相关文章推荐
javascript Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
微信小程序中weui用法解析
Oct 21 Javascript
微信小程序实现侧边分类栏
Oct 21 Javascript
Vue如何循环提取对象数组中的值
Nov 18 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
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
页面中js执行顺序
2009/11/09 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
Python中正则表达式的详细教程
2015/04/30 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
python3.4中清屏的处理方法
2020/07/06 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
移动通信专业自荐信范文
2013/11/12 职场文书
学生处主任岗位职责
2013/12/01 职场文书
婚庆公司的创业计划书
2014/01/22 职场文书
高三自我评价
2014/02/01 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
学术会议邀请函
2015/01/30 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers