首先要明白new运算符做了什么? 1. 隐式创建一个空对象,并且this变量引用这个对象,还继承了该函数的__proto__ 2. 将属性和方法指向这个对象的实例 3. 隐式返回这个this对象 相当于执行了下面这段代码: var Java = function(cnt){ var oImply = {} oImply.__proto__ = Java.prototype oImply.content = cnt (function(content){ console.log(content) })(content) return oImply } 所以IIFE(立即执行函数)里面的content变量会先在Java函数中查看,找不到。就往父级作用域上找,上一层是window。也找不到就报错了。 content is not defined
点赞 1

相关推荐

牛客网
牛客企业服务