遇到一个面试题 要求写一个函数A,每次进行new操作时候能输出2,3,4,5... new A() // 输出2 new A() // 输出3 new A() // 输出4 function A() { this.a++ console.log(this.a) } A.prototype.a = 1 这样写是错误的,因为实例化对象中的a属性并不是原型上的引用,而是把原型上的a给拷贝了一份给a. 所以这样每次输出都是2. 正确答案: function A() { this.__proto__.a+…
let aa=this.elementRef.nativeElement.querySelector('.logBox') ;…
一.for in 1.使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问: Object.prototype.say="cgl"; // 修改Object.prototype   var person ={ age: 18 }; for (var key in person) { console.log(key, person[key]);//这里用person.key得不到对象key的值,用person[key] 或者 eval("person.&quo…
在刚刚接触JS原型链的时候都会接触到一个熟悉的名词:prototype:如果你曾经深入过prototype,你会接触到另一个名词:__proto__(注意:两边各有两条下划线,不是一条).以下将会围绕prototype和__proto__这两个名词解释为什么不能在原型链上使用对象以及JS原型链的深层原理. 一.为什么不能在原型链上使用对象: 先举一个非常简单的例子,我有一个类叫Humans(人类),然后我有一个对象叫Tom(一个人)和另一个对象叫Merry(另一个人),很明显Tom和Merry都…
对于本篇对于如何自定义对象.和对象相关的属性操作不了解的话,可以查我对这两篇博客.了解这两篇可以更容易理解本篇文章 用构造函数创建了一个对象  obj对象的本身创建了两个属性  x=1   ,y=2      对象本的的两个属性都有属性特征  writable是否可写的,enumerable是否可枚举的 configurable是否可重置的,getter  ,setter  obj对象本身也有三大特性    proto 原型    class 类     extensible可拓展  foo.p…
这篇文章主要是学习一下JavaScript中的难点------原型和原型链 自定义一个对象 我们学习一门编程语言,必然要使用它完成一些特定的功能,而面向对象的语言因为符合人类的认知规律,在这方面做得很好,今天我以JS为例,探索一下JS不同于其他面向对象的语言的地方-------原型和原型链 首先,假设你在做一个项目,要造一个新的对象,标准库里面没有.那你只能用构造函数去构造一个 function Person(){ //构造函数 } 以上Person就是一个构造函数,可以用来生成小明 小红 等等…
1. 构造函数原型对象:prototype ① 构造函数独立创建对象,消耗性能 function Person(name) { this.name = name; this.sayHello = function () { console.log("Hello,my name is " + this.name) } } var P1 = new Person("Tom"); var P2 = new Person("Tom"); P1.sayHe…
一,instanceof: instanceof检测左侧的__proto__原型链上,是否存在右侧的prototype原型. 我在之前的两篇文章 [js高手之路]构造函数的基本特性与优缺点 [js高手之路]一步步图解javascript的原型(prototype)对象,原型链 已经分享过了. function CreateObj(uName) { this.userName = uName; this.showUserName = function () { return '100'; } }…
JS function 是函数也是对象, 浅谈原型链 JS 唯一支持的继承方式是通过原型链继承, 理解好原型链非常重要, 我记录下我的理解 1. 前言 new 出来的实例有 _proto_ 属性, 并且指向其构造函数的 prototype 对象 function Person(){} const person = new Person(); person.__proto__ === Person.prototype // true 所有 new 出来的实例有 _proto_ 属性, 所有函数有…
转自:http://www.jianshu.com/p/a81692ad5b5d typeof obj 和 obj instanceof Type 在JavaScript中,我们经常用typeof obj和obj instanceof Type来识别类型,那么两者的区别在哪?先来看两段代码 <!--typeof obj的方式判断--> <script>    var str = "toby";    console.log(typeof str);// stri…