1.in判断属性是否在对象属性和原型属性上面

<script>function Person(name,age){this.name=name;this.age=age;}Person.prototype.height="120";console.log("name" in Person);console.log("height" in Person);var p=new Person();console.log("name" in p);console.log("name" in Person)

效果:

2.hasOwnproperty判断属性是否在实例属性里面

<script>function Person(name,age){this.name=name;this.age=age;}Person.prototype.height="120";var p=new Person();console.log(p.hasOwnProperty("name"));console.log(p.hasOwnProperty("height"));
</script>

上面一个in判断是实例属性或者原型属性,hasOwnProperty方法是判断是否在实例属性中,那怎么判断只在原型属性里面呢,动动脑子一想,不就可以想出并,交等方法吗console.log("height" in p&&!p.hasOwnProperty("height"));

好的这个问题解决了,让我们再好好来理解一个方法isPrototypeof,就是判断是否是一个原型对象构造出来的对象。

console.log(Person.prototype.isPrototypeOf(p));

js对象之hasOwnProperty和in和isPrototypeOf相关推荐

  1. js中的hasOwnProperty和isPrototypeOf方法

    hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeO ...

  2. 深入 JS 对象属性

    译者:前端小智作者:Dr.Axe l来源:2ality 阿里云最近在做活动,低至2折,有兴趣可以看看: https://promotion.aliyun.com/ntms/yunparter/invi ...

  3. 判断一个js对象,是否具有某个属性

    一个对象,想必我们关注的最多的应该是它上面的属性有哪些吧.那么,怎么判断一个对象是否具有某个属性呢? 1 /*下面是一个对比,看看在判断是否包括一个键上面,Object结构和Set结构的写法不同.*/ ...

  4. [js] 说说你对js对象生命周期的理解

    [js] 说说你对js对象生命周期的理解 一切皆对象 咱们经常听到JS中"一切皆对象"?有没有问想过这是什么意思?其它语言也有"一切皆对象"之说,如Python ...

  5. 从零开始学前端 - 16. JS对象Object介绍及常用方法

    作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...

  6. js对象的getter和setter

    js对象的getter和setter 一.简介 1. getter (1)具体定义 (2)使用方式 2. setter (1)具体定义 (2)使用方式 二.设置getter和setter 1. 初始化 ...

  7. js 对象解构_JS对象:解构

    js 对象解构 JS对象:TL; DR (JS Objects: TL;DR) JavaScript has been plagued since the beginning with misunde ...

  8. JS对象中常见的方法

    本文主要介绍Native对象,即在ECMAScript标准中定义和描述,包括JavaScript内置对象(数组,日期对象等)和用户自定义的对象 目录 1. 对象的创建并添加属性 1. new 对象 2 ...

  9. 【JS专栏】JS对象的浅拷贝与深拷贝

    浅拷贝 自己创建一个新的对象,来接受你要重新复制或引用的对象值.如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象:但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这 ...

最新文章

  1. (1)Adapter适配器(ArrayAdapter、SimpleAdapter、BaseAdapter)
  2. Badread: simulation of error-prone long reads Badread:模拟容易出错的长读断
  3. BERT模型从训练到部署全流程
  4. ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四
  5. AAA 服务器 — Diameter(直径)协议
  6. linux 占用缓存前10_Linux 中的零拷贝技术
  7. Effective STL 条款30
  8. C语言试题三十之请编写函数function对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。
  9. java学习(85):Interage包装类基本使用
  10. ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析
  11. Django第一天笔记
  12. MVVMLight绑定数据
  13. 分布式消息中间件rocketmq的原理与实践
  14. 使用Python,OpenCV旋转图像任意角度(完整和局部丢失~)
  15. 《⑨也懂系列:MinGW安装教程Ver.2》著名C/C++编译器GCC的Windows版本
  16. Sql Server 还原数据库并重命名
  17. Kolmogorov复杂性 简介
  18. IDA遇到mojava,crash的情况
  19. python word 表格宽度_RPA手把手——python-docx 设置 word 文档中表格格式
  20. VSCode常用插件及配置修改

热门文章

  1. 世界上第一台电脑ENIAC
  2. 如何在电脑资源管理器中删除华为手机助手以及其他顽固的图标
  3. 魔兽争霸错误:此版本之魔兽争霸3需要特定语言版本之windows
  4. 魅族mx四核即将使用android,耳目一新 魅族MX四核Flyme OS UI界面赏析
  5. 浩辰3D软件新手福利:如何绘制相连的直线和圆弧?
  6. 农村土地确权之系列文档 —— 承包方代表推选书
  7. 咸鱼Maya笔记—NURBS倒角
  8. IO流进行文件读写操作
  9. 类型多样的售楼处sketchup模型素材,速来收藏
  10. 卡片式设计——移动设计的未来