Javascript 使用this.argu存储参数是一种良好的做法吗?

Javascript 使用this.argu存储参数是一种良好的做法吗?,javascript,arguments,Javascript,Arguments,我是前端开发新手,现在我正在阅读公司其他人编写的大量js代码,发现他们会使用以下语法来存储参数: function func1(argu1,argu2){ this.argu1 = argu1; this.argu2 = argu2; // other code run here.... } 对于我来说,我通常跳过这一步,直接在代码中使用参数,或者为n获取一个变量,如下所示: function func2(argu1,argu2){ alert(argu1); a

我是前端开发新手,现在我正在阅读公司其他人编写的大量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...
}
所以我想问为什么要用这个语法来存储参数? 这是一种好的做法吗?为什么? 我有没有错过一些我应该知道的概念


请参见由不再是前台的我的同事编写的…

在第一个示例中,func1可用于创建对象。它实际上是一个类定义(构造函数)。它可以按如下方式使用:

function func1(argu1,argu2)
{
   this.argu1 = argu1;
   this.argu2 = argu2;
}

var instance = new func1('a', 'b');
alert(instance.argu1);
alert(instance.argu2);

Lordy lord:不要定义函数并在最后调用它,而是尝试使用闭包。保持函数定义不变,但将其放在括号中:

(function new_slider (arguments)
{
    //your code here
})('#new_slider',1500,150,10);
这样,函数被声明,同时被调用,在主
new_slider
函数中定义的所有函数都可以访问参数。绝对没有理由使用
this.argu1
来存储这些值。如果有什么区别的话,它会创建全局变量,这被认为是不好的做法


请用JavaScript搜索闭包,它们非常强大

为什么要“存储参数”?函数名是否大写?如果这是一个构造函数,那么将其称为
func1
而不是
func1
是一种不好的做法。@Pointy我不知道,这正是我同事写的,我问过他,他说获取参数很方便……因为我不是JS专业人士,所以我在这里问……你能提供更多信息吗?如果它只是任何旧函数,那么
this.argu
将附加到全局(窗口)对象,这不是一个好方法。在回调函数或事件处理程序的情况下,这是可以接受的,但我仍然认为您最好使用它closures@Esailija我能记得的所有代码只是一个幻灯片,没有使用任何构造函数方法…所以现在我认为这只是我的同事犯的一个错误…谢谢!看我的同事写的whicn,他已经不再是前台了,我不认为这将是一个be类定义,不管怎样…@strangeline确实不是,他是有意或无意地创建了全局变量。全球国家不是一个好的做法。@Esailija真的很感谢!我很长一段时间都不相信这一点,因为他以前是我的上司,而且对他的理论很有把握,“这样储存论点很方便”。。。。