我最近开始保持别人的JavaScript代码,我正在修复错误,添加功能,也试图更新代码并使其更加一致。
以前的开发人员使用了两种方式来宣布功能,我无法解决是否有原因。
兩種方式是:
var functionOne = function() {
// Some code
};
function functionTwo() {
// Some code
}
使用这两种不同的方法的原因是什么?每个方法的优点和缺点是什么?可以用一种方法做些什么,不能用另一种方法做些什么?
一个描述什么时候优先于第一种方法,而不是第二种方法,是当你需要避免超越一个函数的以前定义时。
与
if (condition){
function myfunction(){
// Some code
}
}
,这个定义的微功能将超越任何以前的定义,因为它将在时间段进行。
虽然
if (condition){
var myfunction = function (){
// Some code
}
}
正确的定义功能工作只有在条件满足时。
区别在于,函数One 是一种函数表达式,因此只有在到达该行时才定义,而函数Two 是一种函数声明,并在其周围函数或脚本执行后才定义。
例如,函数表达式:
// TypeError: functionOne 不是函数函数One(); var 函数One = 函数() { console.log(“Hello!”); };
还有一个功能声明:
// 输出: “Hello!”函数Two();函数函数Two() { console.log(“Hello!”); }
“使用严格”; { // 注意此区块! 函数三() { console.log(“Hello!”); } } 函数三(); // 参考错误
1、功能表达
var functionOne = function() {
// Some code
};
函数表达式定义一个函数作为一个更大的表达式合成的一部分(通常是一个变量任务)。函数表达式通过函数表达式定义的函数可以被命名或匿名。
二、职能宣言
function functionTwo() {
// Some code
}
这是在JavaScript中召唤函数的正常方式,这个函数可以被召唤之前你甚至宣布它,因为在JavaScript中,所有函数都被收集,但如果你有“严格使用”这个函数不会像预期那样收集,这是一个很好的方式召唤所有正常函数,这些函数不大,也不是一个构建函数。
此外,如果您需要更多关于如何在JavaScript中工作的信息,请参阅下面的链接:
我用我的代码中的变量方法出于一个非常具体的原因,其理论已经以抽象的方式被覆盖,但一个例子可以帮助一些像我这样的人,有有限的JavaScript专业知识。
有些品牌需要特定的功能,而有些则不。有时我需要添加新的功能来做新的品牌特定的事情.我很高兴更改共享编码,但我不想需要更改所有160套品牌文件。
使用变量合成,我可以在共享代码中宣言变量(基本上是函数指标),并分配一个三位一体函数,或设置为零。