js对象之hasOwnProperty和in和isPrototypeOf
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相关推荐
- js中的hasOwnProperty和isPrototypeOf方法
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeO ...
- 深入 JS 对象属性
译者:前端小智作者:Dr.Axe l来源:2ality 阿里云最近在做活动,低至2折,有兴趣可以看看: https://promotion.aliyun.com/ntms/yunparter/invi ...
- 判断一个js对象,是否具有某个属性
一个对象,想必我们关注的最多的应该是它上面的属性有哪些吧.那么,怎么判断一个对象是否具有某个属性呢? 1 /*下面是一个对比,看看在判断是否包括一个键上面,Object结构和Set结构的写法不同.*/ ...
- [js] 说说你对js对象生命周期的理解
[js] 说说你对js对象生命周期的理解 一切皆对象 咱们经常听到JS中"一切皆对象"?有没有问想过这是什么意思?其它语言也有"一切皆对象"之说,如Python ...
- 从零开始学前端 - 16. JS对象Object介绍及常用方法
作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...
- js对象的getter和setter
js对象的getter和setter 一.简介 1. getter (1)具体定义 (2)使用方式 2. setter (1)具体定义 (2)使用方式 二.设置getter和setter 1. 初始化 ...
- js 对象解构_JS对象:解构
js 对象解构 JS对象:TL; DR (JS Objects: TL;DR) JavaScript has been plagued since the beginning with misunde ...
- JS对象中常见的方法
本文主要介绍Native对象,即在ECMAScript标准中定义和描述,包括JavaScript内置对象(数组,日期对象等)和用户自定义的对象 目录 1. 对象的创建并添加属性 1. new 对象 2 ...
- 【JS专栏】JS对象的浅拷贝与深拷贝
浅拷贝 自己创建一个新的对象,来接受你要重新复制或引用的对象值.如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象:但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这 ...
最新文章
- (1)Adapter适配器(ArrayAdapter、SimpleAdapter、BaseAdapter)
- Badread: simulation of error-prone long reads Badread:模拟容易出错的长读断
- BERT模型从训练到部署全流程
- ASP.NET MVC 3 Razor 多国语言参考解决方案 补充四
- AAA 服务器 — Diameter(直径)协议
- linux 占用缓存前10_Linux 中的零拷贝技术
- Effective STL 条款30
- C语言试题三十之请编写函数function对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。
- java学习(85):Interage包装类基本使用
- ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析
- Django第一天笔记
- MVVMLight绑定数据
- 分布式消息中间件rocketmq的原理与实践
- 使用Python,OpenCV旋转图像任意角度(完整和局部丢失~)
- 《⑨也懂系列:MinGW安装教程Ver.2》著名C/C++编译器GCC的Windows版本
- Sql Server 还原数据库并重命名
- Kolmogorov复杂性 简介
- IDA遇到mojava,crash的情况
- python word 表格宽度_RPA手把手——python-docx 设置 word 文档中表格格式
- VSCode常用插件及配置修改