自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Beijiyang

就这样不停地挑战生活,再与之言和。

  • 博客(6)
  • 收藏
  • 关注

原创 JS 显示原型、隐式原型与原型链 / 构造函数、实例、实例原型之间的关系

什么是原型链原型链是利用原型,让一个引用类型继承另一个 引用类型的属性和方法。为了说明白原型链,需要从构造函数、原型与实例的关系讲起。构造函数、原型与实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针(显式原型),而实例都包含一个指向原型对象的内部指针(隐式原型)。那么,假如让原型对象等于另一个类型的实例,结果会让此事的原型对象包含一个指...

2018-03-31 16:06:49 1772

原创 JavaScript new 的实现

new 特性《你不知道的JavaScript》提到:使用 new 调用函数,或者说发生构造函数调用时,会自动执行下面的操作:创建(或者说)构造一个全新的对象;这个新对象会被执行 [[Prototype]] 连接;这个新对象会绑定到函数调用的 this;如果函数没有返回其他对象,那么 new 表达式中的函数调用会自动返回这个新对象。new 的实现用法: fakeNe...

2018-03-31 14:49:10 536

原创 JavaScript bind() 方法的实现

bind() 方法的特点bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,可以把除了第一个参数以外的其他参数都传递给下层的函数(这种技术称为“部分应用”,是“柯里化”的一种)注①如果 bind() 返回的函数 作为构造函数使用,bind 时指定的 this 值会失效,但传入的参数有效。 new 调用返回的实例能够继承 绑定...

2018-03-31 11:00:02 1379

原创 JavaScript call() 与 apply() 方法的实现与思路解析

用一个例子开始greet = "Hi, Im global";let foo = { greet: "Hello"};let bar = function(name, character) { console.log(this.greet); return { greet: this.greet, person: `${name} is ${char...

2018-03-30 17:15:23 336

原创 一道 promise 亮灯问题的 思路演进 与 深坑 (JS异步机制) 分析

问题红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次;如何让三个灯按照这个规律不断交替重复亮灯?(用Promse实现)三个亮灯函数已经存在:function green() { console.log("green");}function yellow() { console.log("yellow");}function red() { console.log(...

2018-03-17 23:42:24 1300

原创 单线程 JavaScript 的异步机制与经典 for 循环面试题

从一个经典的 for 循环问题开始for (var i = 1; i <= 5; i++) { setTimeout( function timer() { console.log(i); }, i*1000)}输出是:每隔1秒,输出一个6,共5次。原理这样的输出,是由 JavaScript 的单线程及异步机制决定的。JavaScript 是单线...

2018-03-07 17:38:32 978 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除