我是前端开发的新手,现在我正在阅读我公司其他人编写的很多js代码,并发现他们将使用这种语法存储参数:
function func1(argu1,argu2){
this.argu1 = argu1;
this.argu2 = argu2;
// other code run here....
}
对我来说,我通常跳过这个并直接在我的代码中使用参数或获取n的变量,如下所示:
function func2(argu1,argu2){
alert(argu1);
alert(argu2);
var arguOne = argu1,arguSec = argu2;
// other code run here...
}
所以我想问为什么要使用这种语法来存储参数? 这是一个好习惯吗?为什么? 我是否曾想念一些我应该知道的概念?
请看我的同事写的fiddle,这位同事不再是前锋......
答案 0 :(得分:2)
在第一个示例中,func1可用于创建对象。它实际上是一个类定义(构造函数)。它可以使用如下:
function func1(argu1,argu2)
{
this.argu1 = argu1;
this.argu2 = argu2;
}
var instance = new func1('a', 'b');
alert(instance.argu1);
alert(instance.argu2);
答案 1 :(得分:1)
Lordy阁下:不要定义函数,而是在最后调用它,尝试使用闭包。只需按原样保留函数定义,但将其放在括号中:
(function new_slider (arguments)
{
//your code here
})('#new_slider',1500,150,10);
这样,声明了函数,并且同时调用了函数,在主new_slider
函数中定义的所有函数都可以访问参数。绝对没有理由使用this.argu1
来存储这些值。如果有的话,它会创建全局变量,这被认为是不好的做法。
请在JavaScript中使用google闭包,它们非常强大