当任意一个普通函数用于创建一类对象时,它就被称作构造函数,或构造器。
- new操作符来调用一个构造函数时,创建一个空对象obj,
- 将这个空对象的__proto__成员指向了构造函数对象的prototype成员对象
- Date()就是一个静态方法、普通函数返回一个时间string作为普通函数的返回值
typeof Number(10)//number
typeof new Number(10)//object
typeof Date()//string
typrof new Date()//object
function MyNumber() {
var args = [].slice.call(arguments);
//console.log(args);
this.args = args;
return args.toString();
}
MyNumber.prototype.toString = function() {
return this.args.toString();
}
var mm = MyNumber(1,2,3);
console.log(typeof mm); //string
console.log(mm); //1,2,3
var o = new MyNumber(1,2,3);
console.log(typeof o); //object
console.log(o); //MyNumber {args: Array[3]}
console.log(o.toString()); //1,2,3