function Person(){
this.name = name;
this.age = age;
this.todo = function(){
return this.name;
}
}
实例化:
var person1 = new Person('sonia',20);
console.log(person1.name);
//普通函数(不需要用new,this指向person):
function person(name){
return name;
}
调用:
person("aa");
//工厂模式
function person(name,age){
var obj = new Object();
obj.name = name;
obj.age = age;
return obj;
}
调用:
var a1 = person("aa",22);
a1.name;
工厂模式(写法、形式不固定)例子:
function Create(name,age){
var obj = new Object();
obj.name = name;
obj.age = age;
obj.action = function(){
return this.name;
}
return obj;
}
调用(重复产生N个实例):
var a1 = new Create("aa",22);
var a2 = new Create("aaa",2);
循环与拷贝
for循环是同步的,each是异步的
for(var i=0;i<10;i++){
}
var data = msg;
$.each(data,function(index,item){
})
深拷贝:两个独立的个体,比如双胞胎,彼此不会直接产生影响。
浅拷贝:引用就是浅拷贝,像影子一样,随本人一起变化
function Fa(){
Fa.prototype.name = 'fa';
function Fb(){
}
Fb.prototype = new Fa();
Fb.prototype.name = 'fb';
function Fc(){
}
Fc.prototype = new Fb();
Fc.prototype.name = 'fc';
var aa = new Fc();
aa.age;
}