理解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 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
Apr 01 Javascript
Jquery 点击按钮显示和隐藏层的代码
Jul 25 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
Dec 11 Javascript
ES6中的数组扩展方法
Aug 26 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
jQuery实现的浮动层div浏览器居中显示效果
Feb 03 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 Javascript
echarts大屏字体自适应的方法步骤
Jul 12 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 生成文字png图片的代码
2011/04/17 PHP
phpwind放自动注册方法
2006/12/02 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
Python中类的继承代码实例
2014/10/28 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
详细分析python3的reduce函数
2017/12/05 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
美国购车网站:TrueCar
2016/10/19 全球购物
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
一些PHP的面试题
2015/05/06 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
物流专员岗位职责
2014/02/17 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
公务员政审材料
2014/12/23 职场文书
校运会广播稿
2015/08/19 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
go select编译期的优化处理逻辑使用场景分析
2021/06/28 Golang
windows server2008 开启端口的实现方法
2022/06/25 Servers