js 语法
读过一篇文章里面js面向对象的写法通过
function New(aClass, aParams) //通用创建函数
{
function new_() //定义临时的中转函数壳
{
aClass.Create.apply(this, aParams); //调用原型中定义的的构造函数,中转构造逻辑及构造参数
};
new_.prototype = aClass; //准备中转原型对象
return new new_(); //返回建立最终建立的对象
};
起到了构造函数的作用,但是直接用NEW()创建对象,感觉不像类,而且这样写的类的方法在编辑器时,不会自动提示,模仿下有了方法二。
方法二:
var Class = {
create: function () {
return function () {
this.initialize.apply(this, arguments);
}
}
}//模仿形成构造器函数的的效果
var click_class = Class.create()//建立click_class类
click_class.prototype = {
initialize: function (name,obj) {
this.name=name
this.obj = $(obj)
},//定义构造器函数
pri: function () {
alert(this.name+":"+this.obj.html())
}//定义公共方法
}
var t = new click_class("sonny","p")
$(".div").click(function () {
t.obj=$(this)//js的特性覆盖对象类的属性
t.pri()
})
demo:

浙公网安备 33010602011771号