JS 创建类:混合的构造函数/原型方式
//先创建一个方法
function Demo(name,age){
this.name=name;
this.age=age;
this.info=new Array(this.name,this.age);
}
//写prototype
Demo.prototype.SayInfo=function(){
alert('My name is '+this.name);
}
//实列化
var xiaoming=new Demo('小明',4);
var laowu=new Demo('老五',13);
xiaoming.SayInfo();
laowu.SayInfo();
动态原型创建
function Demo(name,age){
this.name=name;
this.age=age;
this.info=new Array(this.name,this.age);
if (typeof Demo._initialized == "undefined") {
Demo.prototype.SayInfo=function(){
alert('My name is '+this.name);
}
Demo._initialized = true;
}
}
//实列化
var xiaoming=new Demo('小明',4);
var laowu=new Demo('老五',13);
xiaoming.SayInfo();
laowu.SayInfo();
新的Class - 类创建
var Person = function(name) { // 一个匿名函数, 并将这个函数赋值给一个Person变量, 此时Person成为一个类
this.name = name;
}
function Person(name) { // 直接定义一个叫做Person的函数表示Person类
this.name = name;
}
Person.prototype = { // 定义Person的prototype域
printName: function() { // 定义一个print函数
alert(this.name);
}
}
网友评论