实现call, apply和bind

实现call, apply和bind

实现call

思想

实现一个call无非就是下面几点:

  1. 第一个参数传入null时,this指向window。
  2. 第一个参数传入对象时,this指向该对象。
  3. 接受剩余参数传入。
  4. 返回函数执行的结果。
阅读更多
红墨水和蓝墨水混合问题

红墨水和蓝墨水混合问题

今天看到个特别有意思的红墨水蓝墨水混合问题:

题:有一瓶红墨水,一瓶蓝墨水,从红墨水舀一勺到蓝瓶里,搅匀后再舀一勺到红瓶里。
问:此时红墨水里含蓝墨水的量和蓝墨水里含红墨水的量关系是什么?大于、小于、等于?

阅读更多
call, apply和bind
undefined和null的区别

undefined和null的区别

js 最初设计的缺陷导致 js 神奇的存在两个空值: undefinednull
其他语言中有且只有 null , NULL 等。

实际开发中,将一个变量赋值为 undefinednull 几乎没有区别,且两者都为 Falsy

那么两者的区别到底是什么呢?

阅读更多
原型与原型链