JavaScript可以’;t设置变量–;范钦普特例子
我有以下代码(): 当我尝试在控制台中执行以下代码时,它抛出一个JavaScript可以’;t设置变量–;范钦普特例子,javascript,Javascript,我有以下代码(): 当我尝试在控制台中执行以下代码时,它抛出一个TypeError: var x = FancyInput({"a":1}) 错误: TypeError:无法设置未定义的属性“options” 为什么它不能设置变量?如果我以前用this调用它,它会工作 this.FancyInput({"a":1}) FancyInput是一个构造函数;必须使用new操作符来构造对象new创建一个新的FancyInput对象,并将其绑定到构造函数中的this var x = new Fanc
TypeError
:
var x = FancyInput({"a":1})
错误:
TypeError:无法设置未定义的属性“options”
为什么它不能设置变量?如果我以前用this
调用它,它会工作
this.FancyInput({"a":1})
FancyInput
是一个构造函数;必须使用new
操作符来构造对象new
创建一个新的FancyInput
对象,并将其绑定到构造函数中的this
var x = new FancyInput({a: 1});
严格模式会特别捕获此错误,当调用没有上下文的函数而不是全局对象时,该模式会将
This
设置为undefined
。顺便说一下,这就是你使用this.FancyInput所做的,它是不正确的。使用new FancyInput({a:1})
我不知道strict模式的tihs属性,当调试Chrome时,在构造函数中将this
指定为窗口
对象,这让我感到困惑。顺便说一句,谢谢你改进我的问题。
var x = new FancyInput({a: 1});