理解JAVASCRIPT中hasOwnProperty()的作用_javascript技巧

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() 的返回值相同

时间: 2024-09-28 07:14:40

理解JAVASCRIPT中hasOwnProperty()的作用_javascript技巧的相关文章

深入理解javascript中defer的作用_javascript技巧

很多人都已经把 Javascript的用的炉火纯青了,但见到defer未必就知道他是做什么用的:很多人也都遇到过这样的问题,需要直接执行别且操作DOM对象的js 总是报找不到对象的错误,原因大家也都知道就是页面还有没有加载完毕,js的操作对象还在下载中.但很多人都不知道,添加defer标签就能轻而易举的解决这个问题. <script src="../CGI-bin/delscript.js" defer></script> 中的defer作用是文档加载完毕了再执

理解javascript中的MVC模式_javascript技巧

MVC模式是软件工程中一种软件架构模式,一般把软件模式分为三部分,模型(Model)+视图(View)+控制器(Controller); 模型:模型用于封装与应用程序的业务逻辑相关的数据以及对数据处理的方法.模型有对数据直接访问的权利.模型不依赖 "视图" 和 "控制器", 也就是说 模型它不关心页面如何显示及如何被操作. 视图:视图层最主要的是监听模型层上的数据改变,并且实时的更新html页面.当然也包括一些事件的注册或者ajax请求操作(发布事件),都是放在视图

5分钟理解JavaScript中this用法分享_javascript技巧

前言关于JavaScript中this的用法网络中已经有较多比较详尽的介绍,可以参考本文的参考学习资料和网络.本文结合网络收集整理,尝试以一种简易的方式阐述JavaScript中this的用法,希望对大家关于JavaScript中this用法的快速理解有所帮助.正文1. this用法实例 复制代码 代码如下: window.color = "red"; var o = { color: "blue" }; function sayColor(){     alert

理解JavaScript中Promise的使用_javascript技巧

Javascript 采用回调函数(callback)来处理异步编程.从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是我们常说的厄运的回调金字塔(Pyramid of Doom),绝对是一种糟糕的编程体验.于是便有了 CommonJS 的 Promises/A 规范,用于解决回调金字塔问题.本文先介绍 Promises 相关规范,然后再通过解读一个迷你的 Promises 以加深理解. 什么是 Promise一个 Promise 对象代表一个目前还不可用,但是在未来的某

理解javascript中的with关键字_javascript技巧

说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作用在于改变作用域,然后最关键的一点是不推荐使用with关键字.听到不推荐with关键字后,我们很多人都会忽略掉with关键字,认为不要去管它用它就可以了.但是有时候,我们在看一些代码或者面试题的时候,其中会有with关键字的相关问题,很多坑是你没接触过的,所以还是有必要说说with这一个关键字. 一.基本说明 在js高级程序设计中是这样描述with关键字的:with语句的作用是将代码的作用域设置到一个特定的作用域中,基本

理解javascript中Map代替循环_javascript技巧

本文介绍了map给我们的js编程带来的好处及便利:1.Map能干什么map可以实现for循环的功能: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = ['val1', 'val2',

深入理解Javascript中的循环优化_javascript技巧

循环是大多数编程语言都具备的基本功能,JS也不例外,不同之处在于JS是解释型语言,运行于浏览器环境中,客户端的软硬件条件会对JS执行效率产生很大的影响.然而客户端环境对于开发者是未知.多样的,并且难以改变,所以优化代码质量是提高代码效率的主要途径.JS代码中,循环是比较容易导致性能问题的因素.理解循环特性进而有针对性地进行优化也许会带来不错的性能提升.for.while.do-while循环:这三种循环本身的循环效率相差不多,所以只要根据适合的应用场景选择即可.以for循环为例: 复制代码 代码

图解JavaScript中的this关键字_javascript技巧

JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发现JavaScript其实很难掌握,有些基本概念让人匪夷所思.其中JavaScript 中的 this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的对象.有一种观点认为,只有正确掌握了 JavaScript 中的 this 关键字,才算是迈入了 JavaScript 这门语言的门槛.在主流的面向对象的语言中(

详细讲解JavaScript中的this绑定_javascript技巧

this 可以说是 javascript 中最耐人寻味的一个特性,就像高中英语里各种时态,比如被动时态,过去时,现在时,过去进行时一样,无论弄错过多少次,下一次依然可能弄错.本文启发于<你不知道的JavaScript上卷>,对 javasript 中的 this 进行一个总结. 学习 this 的第一步就是明白 this 既不是指向函数自身也不指向函数的作用域.this 实际上是在函数被调用时发生的绑定,它指向什么地方完全取决于函数在哪里被调用. 默认绑定 在 javascript 中 ,最常