iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用
  • 297
分享到

JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用

2023-07-02 12:07:08 297人浏览 泡泡鱼
摘要

本篇内容主要讲解“javascript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScrip

本篇内容主要讲解“javascript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用”吧!

isPrototypeOf

作用:检测一个对象是否是另一个对象的原型。或者说一个对象是否被包含在另一个对象的原型链中

var p = {x:1};//定义一个原型对象var o = Object.create(p);//使用这个原型创建一个对象p.isPrototypeOf(o);//=>true:o继承pObject.prototype.isPrototypeOf(p);//=> true p继承自Object.prototype

简单解释一下就是每一个JavaScript对象都和原型关联,每一个对象都从原型继承属性。所有通过对象直接量创建的对象都使用Object.prototype作为他们的原型,因此p是继承自Object.prototype,因此在p的原型链中一定存在Object.prototype

上面还提到了Object.create();该方法创建一个新对象,第一个参数是这个对象的原型,所以上面创建的o对象它的原型就是p

function Animal(){    this.species = "动物";};var eh = new Animal();Animal.prototype.isPrototypeOf(eh)//=>true

以上实例是通过new创建了对象eh,使用构造函数Animalprototype作为它的原型。

综合上面的两个例子,我们发现在调用isPrototypeOf()的时候有三种方式

p.isPrototypeOf(o);//=>trueObject.prototype.isPrototypeOf(p);Animal.prototype.isPrototypeOf(eh)//=>true

总结一下就是:
通过Object.create()创建的对象使用第一个参数作为原型
通过对象直接量的对象使用Object.prototype作为原型
通过new创建的对象使用构造函数的prototype属性作为原型

instanceof

instanceof运算符希望左操作数是一个对象,右操作数标识对象的类。如果左侧对象是右侧类的实例,则表达式返回为true,否则返回false。

var d = new Date();d instanceof Date;//=>true  d是Date的实例d instanceof Object;//=>true 所有对象都是Object的实例

当通过instanceof判断一个对象是否是一个类的实例的时候,这个判断也会包含对父类的检测。尽管instanceof的右操作数是构造函数,但计算过程实际是检测了对象的继承关系。

instanceOf与isPrototypeOf简单总结

var d = new Date();Date.prototype.isPrototypeOf(d);//=>trued instanceof Date;//=>true
  • 如果Date.prototype是d的原型,那么d一定是Date的实例。

  • 缺点为无法同对象来获得类型,只能检测对象是否属于类名

  • 在多窗口和多框架的子页面的WEB应用中兼容性不佳。其中一个典型代表就是instanceof操作符不能视为一个可靠的数组检测方法。

hasOwnProperty

检测集合成员的所属关系,判断某个属性是否存在于某个对象中。可以通过in运算符,hasOwnProperty()来完成。

in运算符左侧是属性名,右侧是字符串,如果对象的自由属性或者继承属性中包含这个属性则返回true
对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自由属性,如果是继承属性则返回false。

function Animal(){}//定义Animal构造函数  Animal.prototype = {//定义Animal原型      species:"动物",      say:function(){          console.log('i can say Word');      }  }   function Cat(name,color){//定义构造函数Cat  this.name = name;  this.color = color;}    var F = function(){};    F.prototype = Animal.prototype;    Cat.prototype = new F();    Cat.prototype.constructor = Cat;//Cat继承Animal 用F空对象作为媒介     var eh = new Cat('lili','white');//实例化对象     console.log('say' in eh)//=>true    console.log('name' in eh)//=>true    console.log('color' in eh)//=>true    console.log('species' in eh)=>true     console.log(eh.hasOwnProperty('say'))=>false  由于say为继承属性  非自有属性    console.log(eh.hasOwnProperty('species'))=>false 由于species为继承属性  非自有属性    console.log(eh.hasOwnProperty('name'))=>true    console.log(eh.hasOwnProperty('color'))=>true     for(var key in eh){          console.log(key);      if(eh.hasOwnProperty(key)){      console.log(key)    //=>species  say name  color      }      }

到此,相信大家对“JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用

本文链接: https://www.lsjlt.com/news/341838.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用
    本篇内容主要讲解“JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScrip...
    99+
    2023-07-02
  • JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数的用法详解
    isPrototypeOf 作用:检测一个对象是否是另一个对象的原型。或者说一个对象是否被包含在另一个对象的原型链中 var p = {x:1};//定义一个原型对象 var o =...
    99+
    2024-04-02
  • 怎么使用js中hasOwnProperty函数
    这篇文章主要介绍“怎么使用js中hasOwnProperty函数”,在日常操作中,相信很多人在怎么使用js中hasOwnProperty函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用js中hasO...
    99+
    2023-06-25
  • JavaScript中isPrototypeOf函数有什么作用
    本篇内容主要讲解“JavaScript中isPrototypeOf函数有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中isPrototypeOf函数有什么作用”吧!...
    99+
    2023-06-25
  • javascript中instanceof运算符怎么使用
    在JavaScript中,instanceof运算符用于检查一个对象是否是某个构造函数的实例。它的使用方法如下:```javascr...
    99+
    2023-08-12
    javascript instanceof
  • hasOwnProperty判断属性怎么在JavaScript中使用
    这篇文章将为大家详细讲解有关hasOwnProperty判断属性怎么在JavaScript中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、说明hasOwnProperty判断对象是否...
    99+
    2023-06-15
  • JavaScript中hasOwnProperty()方法怎么用
    这篇文章主要介绍了JavaScript中hasOwnProperty()方法怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。hasOwn...
    99+
    2024-04-02
  • compose和pipe函数怎么在JavaScript中使用
    本篇文章为大家展示了compose和pipe函数怎么在JavaScript中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、...
    99+
    2023-06-14
  • JavaScript函数怎么定义和使用
    本文小编为大家详细介绍“JavaScript函数怎么定义和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript函数怎么定义和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.用函数语句定义...
    99+
    2023-07-02
  • JavaScript函数怎么封装和使用
    本篇内容主要讲解“JavaScript函数怎么封装和使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript函数怎么封装和使用”吧!1、函数函数:...
    99+
    2024-04-02
  • JS中hasOwnProperty()方法怎么使用
    JavaScript中的hasOwnProperty()方法用于检查一个对象是否具有特定的属性。它是通过原型链来判断的,只有当对象自...
    99+
    2023-09-13
    JS
  • javascript中XmlHttp.open函数怎么使用
    在JavaScript中,`XmlHttp.open()`函数用于创建一个新的XMLHttpRequest对象,并指定要发送的请求的...
    99+
    2023-09-14
    javascript
  • 怎么使用js中hasOwnProperty的属性
    本篇内容主要讲解“怎么使用js中hasOwnProperty的属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用js中hasOwnProperty的属性”吧!js不会保护hasOwnPr...
    99+
    2023-06-25
  • JavaScript中Generator函数和yield表达式怎么使用
    这篇“JavaScript中Generator函数和yield表达式怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“J...
    99+
    2023-07-04
  • javascript中的replace函数怎么使用
    在JavaScript中,可以使用`replace()`函数来替换字符串中的内容。`replace()`函数接受两个参数:要替换的内...
    99+
    2023-08-18
    javascript replace
  • 怎么在JavaScript中使用max函数
    这篇文章给大家介绍怎么在JavaScript中使用max函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程...
    99+
    2023-06-14
  • JavaScript中的async函数怎么使用
    本篇内容主要讲解“JavaScript中的async函数怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中的async函数怎么使用”吧!async函数async函数的返...
    99+
    2023-07-04
  • 怎么在JavaScript中使用filter函数
    这篇文章给大家介绍怎么在JavaScript中使用filter函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScri...
    99+
    2023-06-14
  • ​Javascript escape()函数和unescape()函数怎么用
    escape()函数用于对字符串进行编码,将字符串中的特殊字符转换为Unicode编码的字符串。unescape()函数用于对编码后...
    99+
    2023-10-21
    ​Javascript
  • JavaScript类、函数和this指向怎么使用
    这篇文章主要介绍了JavaScript类、函数和this指向怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript类、函数和this指向怎么使用文章都会有所收获,下面我们一起来看看吧。1.c...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作