JavaScript 知识点
**polyfills实现原理:**使用var声明这个变量,在es6之前js是没有块级作用域只有函数作用域,那么它的作用域是整个函数,并且是不同于原来的变量名,在同一块内&&出现在声明代码之后&&访问此变量值的地方会被替换成新的变量名,这样便限制了变量的作用域在块内,如果块内有异步函数访问这个变量,便会通过函数参数把变量传递给异步函数function trivialNew(constructor, ...args) { var o = {}; // 创建一个对象 constructor.apply(o, args); return o; } 以下两种方式等效 var bill = trivialNew(Person, "William", "Orange"); var bill = new Person("William", "Orange");this.setState({ }); 相当于如下ES5语法 var partialState = {}; partialState[name] = value; this.setState(partialState);
Last updated