JS中prototype原型链中的Call() and Apply() 1. Call与Apply方法都是属于Function.prototype的方法。是JavaScript引擎内在的实现,就是说每个方法中都有Call和Apply这两个方法,一般用这两个方法实现继承。 2. 两者的功能一样:调用一 ...
分类:
移动开发 时间:
2020-05-18 12:36:55
阅读次数:
71
js里的继承方法有很多,比如:使用原型链的组合继承、es6的Class、寄生继承以及使用call、apply、bind继承。再说继承之前,我们先简单了解下它们的区别。 一、区别: 同:三者都是改变函数执行时的上下文,说人话就是改变this的指向。 异: 1、bind()返回的其实是一个函数,并不会立 ...
分类:
移动开发 时间:
2020-05-18 00:57:01
阅读次数:
661
聊聊 TypeScript 中的类型保护 在 TypeScript 中使用联合类型时,往往会碰到这种尴尬的情况: 如上所示,getSmallPet 函数中,既可以返回 Fish 类型的对象,又可以返回 Bird 类型的对象。由于返回的对象类型不确定,所以使用联合类型对象共有的方法时,一切正常,但是使 ...
分类:
其他好文 时间:
2020-05-14 17:20:40
阅读次数:
79
一、 原型和原型链是一个让人很抓狂的问题,学了很久还是模模糊糊,最近重新扒了一遍感觉有点心得 所以想写个博客给大家分享分享希望能帮助到那些为了原型原型链苦恼的童鞋~~~ 先简单聊聊原型的概念 原型是函数通过.protytype可以访问到的属性,是属于函数的属性。函数都有自己的原型,函数的原型可以通过 ...
分类:
Web程序 时间:
2020-05-13 12:16:58
阅读次数:
74
es5的继承 1.原型链继承 缺点:创建实例时不能传递参数,所有属性都被实例共享 function Parent() { this.name = 'kevin'; } Parent.prototype.getName = function () { console.log(this.name); } ...
分类:
Web程序 时间:
2020-05-12 16:55:26
阅读次数:
83
定义一个父类Person: function Person(name){ this.name=name; } Person.prototype.age=25;Person.prototype.show=function(){ console.log(this.name);} 1.原型链继承 子类的原 ...
分类:
Web程序 时间:
2020-05-06 01:01:52
阅读次数:
67
[Toc] 所有的构造函数都是构造函数Function的实例(允许该构造函数直接通过constructor属性访问构造函数Function) 所有的原型对象都可以近似看成构造函数Object的实例(不允许该原型对象直接通过constructor属性访问构造函数Object) 示例: 判断构造函数、实 ...
分类:
Web程序 时间:
2020-05-04 19:06:36
阅读次数:
59
null与undefined的区别 1、首先看一个判断题:null和undefined 是否相等 console.log(null==undefined)//true console.log(null undefined)//false 观察可以发现:null和undefined 两者相等,但是当两 ...
分类:
Web程序 时间:
2020-05-04 11:47:39
阅读次数:
67
1.原型:prototype,所有的函数都有一个属性prototype,称之为函数原型 默认情况下,prototype是一个普通的Object对象 默认情况下,prototype中有一个属性constructor,它也是一个对象,它指向构造函数本身 function Test(){} Test.pr ...
分类:
编程语言 时间:
2020-05-03 14:49:03
阅读次数:
71
Js遍历对象总结 遍历对象的方法主要有 、`Object.keys() Object.getOwnPropertyNames() Reflect.ownKeys() Object.getOwnPropertySymbols()` for in 语句以任意顺序迭代对象的可枚举属性,包括原型链上的可枚举 ...
分类:
Web程序 时间:
2020-05-03 14:22:31
阅读次数:
60