最近我开始维护别人的JavaScript代码。我正在修复错误,添加功能,并尝试整理代码并使其更加一致。
之前的开发人员使用了两种声明函数的方式,我无法确定是否有什么原因。
这两种方式是:
var functionOne = function() {
// Some code
};
而且,
function functionTwo() {
// Some code
}
为什么要使用这两种不同的方法,各自有哪些优缺点?是否有一种方法可以做到另一种方法无法实现的事情?
最近我开始维护别人的JavaScript代码。我正在修复错误,添加功能,并尝试整理代码并使其更加一致。
之前的开发人员使用了两种声明函数的方式,我无法确定是否有什么原因。
这两种方式是:
var functionOne = function() {
// Some code
};
而且,
function functionTwo() {
// Some code
}
为什么要使用这两种不同的方法,各自有哪些优缺点?是否有一种方法可以做到另一种方法无法实现的事情?
两个函数之间的另一个区别是functionOne可以用作变量,可以在其中保存多个函数,而functionTwo则保存一些代码块,在调用时全部执行。请查看下面:
var functionOne = (function() {
return {
sayHello: function(){
console.log('say hello')
},
redirectPage:function(_url){
window.location.href = _url;
}
}
})();
你可以选择调用哪个函数,例如 functionOne.sayHello 或 functionOne.redirectPage。如果调用 functionTwo,则整个代码块将被执行。