Array.prototype.re = function() {
alert("");
}
网上看到的这种封装,我仅仅知道,这个用一个数组arr.re()就可以调用.
---------------------------
function a(){
alert("");
}
这种普通的封装方法。我仅仅知道这个直接a()可以调用。
---------------------------
(function() {
window.a = {
aa : function(){
alert("");
}
};
})();
这种封装方法我仅仅知道定义一个全局变量a, a.aa()调用aa方法。
---------------------------请高人介绍一下其他的封装方法,或者详细讲解下这三种封装方法的各种巧妙用法什么的。
或者说下这三种方法的不同,和优缺点。自己太菜,csdn也没分。所以各位高手们也可以去度娘知道
http://zhidao.baidu.com/question/265009219.html
分数+100.
(这是跟上面以为小哥学的)
alert("");
}
网上看到的这种封装,我仅仅知道,这个用一个数组arr.re()就可以调用.
---------------------------
function a(){
alert("");
}
这种普通的封装方法。我仅仅知道这个直接a()可以调用。
---------------------------
(function() {
window.a = {
aa : function(){
alert("");
}
};
})();
这种封装方法我仅仅知道定义一个全局变量a, a.aa()调用aa方法。
---------------------------请高人介绍一下其他的封装方法,或者详细讲解下这三种封装方法的各种巧妙用法什么的。
或者说下这三种方法的不同,和优缺点。自己太菜,csdn也没分。所以各位高手们也可以去度娘知道
http://zhidao.baidu.com/question/265009219.html
分数+100.
(这是跟上面以为小哥学的)
先说第一种
function Animal() {}Animal.prototype.sayHello() {
alert("hello");
}
new Animal().sayHello();
这样定义有什么好处?prototype可以看成是一种模板。也就是说,定义在prototype上的东西只会被设定一次,而不会再每次new的时候调用。
而以下方式则会每次都调用,效率低。
function Animal() {
this.sayHello = function() {
alert("hello");
};
}
new Animal().sayHello();接下来说说第三种方式是干什么用的
先看以下代码:
(function() {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var Chart = function() {
if (isIE) {
alert("IE");
} else {
alert("Other");
}
}; org = {
Chart: Chart
};})();
new org.Chart();这样写的好处:
1.看isIE。这里用var定义,限制了变量的作用域,杜绝变量冲突
2.看org = {}这行,变相实现了namespace。最后说说一般的写法用在什么场合。(function() {
function Test() {}
})();
// undefined
alert(Test);
相当于一个private方法
具体你可以参考我的博客
http://rainsilence.iteye.com/blog/1026530
http://rainsilence.iteye.com/blog/892002