当new去调用一个函数:这个时候函数中的this就是创建出来的对象,而且函数的返回值直接就是this啦(隐式返回)
function CreatePerson(name){
this.name = name;
this.showName = function(){
alert(this.name);
}
}
var p1 = new CreatePerson('小明');
p1.showName();
var p2 = new CreatePerson('小强');
p2.showName();
对象引用是什么和它的问题
var a=[1,2,3];
var b=[1,2,3];
alert(a==b) // false;
1.基本类型赋值的时候只是值的复制
2.对象类型赋值的时候不仅仅是值的复制而且也是引用的传递
3.基本类型的比较只是值相同就行
4.对象类型的比较需要值和应用都相同才行
面向对象之原型学习
原型:就是去改写对象下面公用的方法或者属性,让公用的方法或者属性在内存中只存在一份(提高性能)
原型:相当于css中的class
普通方法:相当于css中的style
【style 的优先级比class高 style 不可以复用 class可以复用】
写法:构造函数.prototype.Name = function(){}
// 构造函数
function CreatePerson(name){
this.name = name;
}
// 原型方法
CreatePerson.prototype.showName = function(){
alert(this.name)
}
function 构造函数(){
this.属性
}
构造函数.原型.方法 = function(){}
var 对象1 = new 构造函数();
对象1.方法();