JS中的几种原型对象与实例对象的判别方式
来源:互联网 发布:java 异常体系 编辑:程序博客网 时间:2024/05/16 10:49
hasOwnProperty():检测一个属性时存在于实例中,还是存在于原型中;
给定属性存在于实例中,返回ture,反之,存在于原型中,返回false;
in:可与for结合形成for-in循环,单独使用时,in操作符会在通用对象能够访问给定属性时返回ture,无论该属性存在于原型中还是实例中。
hasOwnProperty函数返回为false,in返回为ture时,可确定该属性就是原型中的属性。
hasPrototypeProperty():属性存在于原型中ture;在实例中修改属性值后,该属性返回为false;
原型对象存在的问题:
function Person(){ } Person.prototype = { constructor: Person, name : "Nicholas", age : 29, job : "Software Engineer", friends : ["Shelby", "Court"], sayName : function () { alert(this.name); } }; var person1 = new Person(); var person2 = new Person(); person1.friends.push("Van"); alert(person1.friends); //"Shelby,Court,Van" alert(person2.friends); //"Shelby,Court,Van" alert(person1.friends === person2.friends); //truePerson.prototype对象有个名为friend的属性,该属性包含一个字符串数组,然后创建了两个实例person1 person2,接着修改了person1.friend引用的数组,向数组中添加了
一个字符串。
由于person1.friend数组在于Person.prototype而非person1中,故刚刚的修改也会修改Person.prototype的值,即person2.friend的值也会被修改变为Shellby,Court,Van;
0 0
- JS中的几种原型对象与实例对象的判别方式
- JavaScript学习12 JS中定义对象的几种方式(原型和构造函数)
- JS面向对象的几种创建方式:工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- JS 创建对象的几种方式
- js创建对象的几种方式
- JS 创建对象的几种方式
- js创建对象的几种方式
- JS创建对象的几种方式
- JS创建对象的几种方式
- JS创建对象的几种方式
- JS创建对象的几种方式
- js 创建对象的几种方式
- JS创建对象的几种方式
- js 面向对象的几种方式
- js创建对象的几种方式
- JS创建对象的几种方式
- JS创建对象的几种方式
- JS创建对象的几种方式
- 传入一个时间戳,传入后,会与本地的时间进行对比,得到返回的字符串,有一小时前,一天前,等等
- homerHEVC代码阅读(38)——熵编码(2)主要流程的函数
- jQuery.extend()源码解析
- a标签点击跳转之后返回url多了#以及相关问题
- pyqt5学习(四)事件和信号
- JS中的几种原型对象与实例对象的判别方式
- Android本地验证码验证
- Ninja - chromium核心构建工具
- Android APK反编译大全 之一
- 看了这三个问题,你就知道UX设计师如何起步
- 如何阅读一本书----你的阅读方式有问题吗?
- 有关DataTable的相关操作
- [生存志] 第48节 叔向忧羊舌
- Mysql启动失败