您的位置:首页 > Web前端 > JavaScript

Javascript面向对象相关的一个例子

2014-03-19 10:00 447 查看
这里也来谈谈javascript的面向对象。我们知道javascript不像java那样,面相对象那么明显,或者说太明显了。

前段时间的一个项目我在其中弄了大量的javascript,各种javascript插件,各种javascript框架。虽然一直在用着,但是一直没怎么总结过,闲下来有空的时候,就总结了这么一小段吧。

javascript用起来,怎么说呢,太自由了,有时候甚至无法把控,不像java那样限制比较多。

我的个人总结,也算是给像 从javascript入门的同仁一个帮助吧。由于作者个人能力有限,如有不太精准的地方,敬请谅解。

/**
* @author 潇湘暮雨 E-mail:wxwinnie@hotmail.com
*
* @version 创建时间:2014年1月19日 上午10:19:17
*
*/
$(function() {
// 任何地方的这种匿名函数“$(function(){})”都不需要调用自动执行的(如果引入了这个js文件的话)。
var Config_center = function() {
// 这个类似于java中的构造函数,因为javascript中将函数也可以作为一种变量或者对象,
//所以,可以将一个函数这么赋值。
this.itsm = new Itsm();
this.tool = new util.Tool();
this.dialog = new util.Dialog();
};
// 这里需要说说extend。Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型 Jquery的扩展方法原型是:
// extend(dest,src1,src2,src3...);它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,
// 由此可以看出该方法合并后,是修改了dest的结构的。这里相当于向Config_center类中添加函数或方法。
$.extend(Config_center.prototype, {
callbackCreateServiceRow : function(nRow, aData, iDataIndex) {//定义一个函数
var itsm = this.itsm;
var id = aData["id"];
itsm.appendCheckBox(nRow, id);
var operates = [{
"href" : "/itsm/config/" + "service"
+ "/update?type=update&id=" + id,
"class" : "black-icons create_write",
"value" : "修改服务项"
}];
itsm.appendOperateBtns(nRow, operates);
itsm.appendStatusCell(nRow, aData["validId"]);
itsm.appendDefaultCellContent(nRow, {
"content" : "暂无信息",
"index" : [3, 4, 5]
});
itsm.addClass(nRow, [{
"class" : "center",
"index" : [1, 2, 3, 4, 5, 6]
}]);
},
callbackCreateWorkHourAllRow : function(nRow, aData) {
var itsm = this.itsm;
var id = aData["id"];
var operates = [];
// javascript支持如下形式的定义数组。数组元素用方括号“[]”括起来,然后每个元素如果是对象类型的话,
//每个对象用花括号“{}”括起来,然后每个属性名称与属性值之间用冒号“:”隔开,也就是json格式的。
operates = [{
"href" : "/itsm/config/workhour/edit?id=" + id,
"class" : "icon-edit",
"value" : "修改任务"
}, {
"href" : "/itsm/config/workhour/detail?id=" + id,
"class" : "icon-file",
"value" : "查看详情"
}, {
"href" : "/itsm/config/workhour/delete?id=" + id,
"class" : "icon-remove",
"value" : "删除"
}];
itsm.appendOperateBtns(nRow, operates);
}
});
// new Config_center()相当于调用了构造方法,创建了一个Config_center的对象。
//然后又因为这个对象被赋值给了window对象的一个属性,也就是在任意地方可以这么调用这个对象:
//config_center.allbackCreateWorkHourAllRow。省略了window。
window.config_center = new Config_center();
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: