例如:
var Person = function (name) {
this.name = name
}
var jack = Person('Jack')
console.log(jack) // undefined
console.log(window.jack) // Jack
以上例子属于不安全模式
安全模式:
var Person = function (name) {
if(this instanceof Person) {
this.name = name
} else {
return new Person(name)
}
}
var jack = Person('Jack')
console.log(jack.name) // Jack
可以在多个JS框架源码中看到其应用的影子