直接上代码了
//创建构造函数
var xxx = function(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
//给构造函数添加原型
xxx.prototype = {
//命名空间,面向对象,var self = this;目的是避免与jq的this重名
demo1: function() {
var self = this;
//可以直接写需要的js;
console.log(self.name);
console.log(self.age);
},
demo2: function() {
var self = this;
//自执行匿名函数,json结构中是可以写function来进行各种dom操作的
(function(){
var time = setTimeout(function(){
alert(self.sex);
},3000);
})();
},
demo3: function(){
var self = this;
var names = self.name;
return names;//demo3即是names的内容;
}
};
//创建一个新的xxx函数并赋值,目的如下,可复用xxx.prototype,大大节省代码冗余量,代码结构更清晰.
var aaa = new xxx("郭宇", "24", "男");
aaa.demo1();
aaa.demo2();
var bbb = new xxx("滕悦","23","女");
bbb.demo1();
bbb.demo2();
//例如这个,上述aaa与bbb分别创建了新的xxx函数并赋值,意味着复用了两次xxx函数及其prototype.
console.log(aaa.demo3()+"爱"+bbb.demo3());
//结果是:郭宇爱滕悦
网友评论