下面我写出四种既风格来完成相同既功能。
第一种:
第二种:
第三,四种都是使用prototype属性来写的。
第四种:
虽然它们实现相同的功能,但是性能不有所区别的,只是在客户端的话,这些小脚本用不了多小时间,就忽略了,看个人习惯来用是最好不过的了。
最后还介绍个匿名函数吧。
这个函数的作用就是其实也很大,比如你要引用一个JS文件的时候,最好用上距,匿名函数最大的作用就是保护好局部的变量不受外部变量的影响。如果你在引用的JS文件中写上这个函数,那么这个文件中的函数可以定义文件里面的变量,去一齐使用,而外部的JS文件就算定义上相同名字的变量也不会受到影响。
JS文件代码:
调用的代码:
第一种:
function utils(){
var a="aa";
this.myalert=function (){
alert(a);
}
this.setA=function(){
a=arguments[0];
}
}
var theutils=new utils();
theutils.setA("bbbb");
theutils.myalert();
第二种:
var utils=function (){
var a="aa";
return {
myalert:function(){
alert(a);
},
setA:function(){
a=arguments[0];
}
}
}();
第三,四种都是使用prototype属性来写的。
var utils=function(){
var a="aa";
}
utils.prototype.myalert=function (){
alert(a);
}
utils.prototype.setA=function(){
a=arguments[0];
}
var theutils=new utils();
theutils.setA("bbbb");
theutils.myalert();
第四种:
var utils=function(){
var a="aa";
}
utils.prototype={
myalert:function (){
alert(a);
},
setA:function(){
a=arguments[0];
}
}
var theutils=new utils();
theutils.setA("bbbb");
theutils.myalert();
虽然它们实现相同的功能,但是性能不有所区别的,只是在客户端的话,这些小脚本用不了多小时间,就忽略了,看个人习惯来用是最好不过的了。
最后还介绍个匿名函数吧。
这个函数的作用就是其实也很大,比如你要引用一个JS文件的时候,最好用上距,匿名函数最大的作用就是保护好局部的变量不受外部变量的影响。如果你在引用的JS文件中写上这个函数,那么这个文件中的函数可以定义文件里面的变量,去一齐使用,而外部的JS文件就算定义上相同名字的变量也不会受到影响。
JS文件代码:
(function() {
var foo = 10;
var bar = 2;
baz = function() {
return foo * bar;
};
alert("a");
})();
调用的代码:
alert(baz());