理解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压缩工具 yuicompressor 使用教程
Mar 31 Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 Javascript
jQuery实现平滑滚动的标签分栏切换效果
Aug 28 Javascript
jquery单击事件和双击事件冲突解决方案
Mar 02 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
深入浅析js原型链和vue构造函数
Oct 25 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
JavaScript函数的4种调用方法实例分析
Mar 05 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
微信小程序 wxParse插件显示视频问题
Sep 27 Javascript
JavaScript日期库date-fn.js使用方法解析
Sep 09 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
php生成HTML文件的类方法
2019/10/11 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
2015/02/23 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
Python反射的用法实例分析
2018/02/11 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
德国网上花店:Valentins
2018/08/15 全球购物
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
遗体告别仪式答谢词
2014/01/23 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
南极大冒险观后感
2015/06/05 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
MySQL优化之慢日志查询
2022/06/10 MySQL