理解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 相关文章推荐
基础的prototype.js常用函数及其用法
Mar 10 Javascript
Dom加载让图片加载完再执行的脚本代码
May 15 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
jQuery 选择器理解
Mar 16 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
深入理解$.each和$(selector).each
May 15 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
Dec 07 Javascript
清除输入框内的空格
Dec 21 Javascript
微信小程序日历组件calendar详解及实例
Jun 08 Javascript
jQuery插件Validation表单验证详解
May 26 jQuery
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中使用Oracle数据库(6)
2006/10/09 PHP
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python 获取项目根路径的代码
2019/09/27 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Django 路由层URLconf的实现
2019/12/30 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
房地产活动策划方案
2014/05/14 职场文书
新闻报道策划方案
2014/06/11 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
鲁迅故里导游词
2015/02/05 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
nginx+lua单机上万并发的实现
2021/05/31 Servers
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
Redis 哨兵机制及配置实现
2022/03/25 Redis
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
Python PIL按比例裁剪图片
2022/05/11 Python