Javascript 使用this.argu存储参数是一种良好的做法吗?
我是前端开发新手,现在我正在阅读公司其他人编写的大量js代码,发现他们会使用以下语法来存储参数: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
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真的很感谢!我很长一段时间都不相信这一点,因为他以前是我的上司,而且对他的理论很有把握,“这样储存论点很方便”。。。。