分析三种判断数组的方法
摘要:1. obj instanceof Array 我们都知道instanceof是用来判断对象的类型的,并且所有的对象 instanceof Object结果都是true 内部机制是通过判断对象的原型链中是否能找到同类型的prototype 其原理是一层一层查找__proto__,如果和constru
阅读全文
原型总结
摘要:1. 构造函数 构造函数实际上就是一个函数,但是为了区分普通函数和构造函数,常常将构造函数的首字母大写。 构造函数和普通函数的区别在于:直接调用的函数是普通函数,使用new生成实例的函数是构造函数。 每个构造函数都有一个prototype属性, 实例对象可通过它的constructor访问到它的构造
阅读全文
bind()的模拟实现
摘要:上一篇对call和apply的模拟实现做了一个梳理,可参见:模拟实现call、apply,下面将具体研究一下bind啦啦啦 1. bind和call/apply的差别 bind方法会创建一个新函数,返回值是一个绑定了上下文的函数 call和apply是将函数直接执行 描述: bind()函数会创建一
阅读全文
模拟实现call、apply
摘要:1. 知识点补充: 首先在模拟实现前,先Mark一些我之前不知道的知识: a. eval(string)函数:可计算某个字符串,并执行其中的JavaScript代码 其中,string是必需传入的待计算或待执行的语句,并且必须是原始字符串的形式! eval(string)相当于<script> st
阅读全文
关于作用域闭包的一些理解
摘要:闭包 红宝书上对闭包的定义:有权访问另外一个函数作用域中变量的函数。 MDN对闭包的定义是:是能够访问自由变量的函数。 自由变量:是指在当前函数中可以使用的(但是既不是arguments也不是本函数定义的局部变量)。 两个点: 就是说我们常见的比如内部函数从外部函数返回这种状态,该内部函数就是闭包。
阅读全文