this指向undefined的情况 普通函数严格模式下打印this,为undefined 非严格模式打印this,会绑定到全局对象,浏览器是window,Node.js是global。所以会输出window。 箭头函数严格模式下打印undefined,非严格模式下打印window或global
在严格模式下,构造函数没有用new调用,例如Person(),实际上应该是new Person(),构造函数内部的this会打印出undefined,有new的环境,this指向新创建的对象。 数组的forEach,map方法的回调函数,在严格模式下,this会输出undefined,在非严格模式会输出全局对象。 箭头函数和普通函数的区别 箭头函数没有自己的this,没有自己的augments参数,不可以当做构造函数,不可以使用yield命令,不用用作Generator函数
构造函数和普通函数 首字母大写,配合new,创建新对象,函数内部的this指向这个新对象,新对象在构造函数的原型链上,可以使用构造函数的方法和属性。 无需return,默认会返回新创建对象的实例。 在构造函数定义方法会使每个实例都共享这个方法,使p1.sayhello===p2.sayhello