1

我是前端开发的新手,现在我正在阅读我公司其他人编写的大量 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...
}

所以我想问为什么要使用这种语法来存储参数?这是一个好习惯吗?为什么?我有没有错过一些我应该知道的概念?

看看小提琴,由我不再是前端的同事写的....

4

2 回答 2

2

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

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

var instance = new func1('a', 'b');
alert(instance.argu1);
alert(instance.argu2);
于 2012-07-15T13:44:39.510 回答
1

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

(function new_slider (arguments)
{
    //your code here
})('#new_slider',1500,150,10);

这样,函数被声明并同时被调用,主new_slider函数中定义的所有函数都可以访问参数。绝对没有理由使用this.argu1来存储这些值。如果有的话,它会创建全局变量,这被认为是不好的做法。

请在 JavaScript 中使用 Google 闭包,它们非常强大

于 2012-07-15T14:11:28.793 回答