function Person(name){ this.name = name } Person.prototype.showName = function(){ return this.name } var ly = new Person('ly') ly.showName() //返回ly
模拟 new 运算符
1 2 3 4 5 6 7 8 9 10
function lnew(){ var obj = new Object() var base= Array.prototype.shift.call(arguments) obj.__proto__ = base.prototype var ret = base.apply(obj, arguments) return typeof ret==='object'?ret:obj } var per = lnew(Person,'ly') per.name //输出ly per.showName() //输出ly