构造函数的写法(重点)⼀、基本信息
构造函数描述: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创建函数:需要⾃⼰添加返回值
函数prototypefunction createPerson(name){
var obj = new Object(); //需要⾃⼰new⼀个对象
obj.name = name;
return obj; //⾃⼰设置返回值
}
var p1 = createPerson('⼩明');
(2)通过new创建函数:
描述:系统默认返回值为新创建的对象,不需要⾃⼰设置,称为隐式返回
三、系统构造函数
系统对象构造函数的名称:
数组:Array
修改系统构造函数:(不建议修改)
写法:Array.prototype.函数名= function(){};
Array.prototype.函数名= function(){};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论