构造函数的写法(重点)⼀、基本信息
构造函数描述:new后⾯的函数称为构造函数,例如:var p1 = new CreatePerson('⼩明');
this指向:构造函数⾥的this为新创建的对象
返回值:默认为新创建的对象,可不写
写法:
function CreatePerson(name,sex){
this.name=name;  //添加属性
this.showSex=function(){};  //添加⽅法
}
var p1=new CreatePerson("blue","男");  //创建构造函数
⼆、与不通过new创建的函数的区别
1、this指向
(1)直接调⽤函数:函数内部的this指的是window
(2)函数调⽤前加new(构造函数):函数内部的this指的是新创建的对象
function show(){
alert(this);
}
show();  //this指向为window
new show();  //this指向为新创建的object
2、返回值
(1)没通过new创建函数:需要⾃⼰添加返回值
函数prototype
function createPerson(name){
var obj = new Object();  //需要⾃⼰new⼀个对象
obj.name = name;
return obj;  //⾃⼰设置返回值
}
var p1 = createPerson('⼩明');
(2)通过new创建函数:
描述:系统默认返回值为新创建的对象,不需要⾃⼰设置,称为隐式返回
三、系统构造函数
系统对象构造函数的名称:
数组:Array
修改系统构造函数:(不建议修改)
写法:Array.prototype.函数名= function(){};
Array.prototype.函数名= function(){};