理解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 相关文章推荐
jQuery Selector选择器小结
May 06 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
Angular表单验证实例详解
Oct 20 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
Oct 24 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
vue实现ToDoList简单实例
Feb 07 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 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和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
dedecms系统常用术语汇总
2007/04/03 PHP
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
laravel入门知识点整理
2020/09/15 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
js中作用域的实例解析
2017/03/16 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
Python3计算三角形的面积代码
2017/12/18 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
深入了解Django View(视图系统)
2019/07/23 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
自荐信的基本格式
2014/02/22 职场文书
对公司的意见和建议
2015/06/04 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
速龙x4-860k处理器相当于i几
2022/04/20 数码科技
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python