相关疑难解决方法(0)

var functionName = function(){} vs function functionName(){}

我最近开始维护其他人的JavaScript代码.我正在修复错误,添加功能,并尝试整理代码并使其更加一致.

以前的开发人员使用两种声明函数的方法,如果背后有原因,我就无法解决.

这两种方式是:

var functionOne = function() {
    // Some code
};
Run Code Online (Sandbox Code Playgroud)
function functionTwo() {
    // Some code
}
Run Code Online (Sandbox Code Playgroud)

使用这两种不同方法的原因是什么?每种方法的优缺点是什么?有一种方法可以通过一种方法完成,而另一种方法无法完成吗?

javascript syntax idioms function

6645
推荐指数
32
解决办法
98万
查看次数

什么是中间值?

今天我完全碰到了这个问题:Uncaught TypeError :(中间值)(...)不是函数

所以是的,在适当的位置放置分号后,它不再抛出该错误.但是,我从来不知道javascript中有这样的概念(intermediate value).

显然,您可以使用以下代码生成该错误的类似变体:

[myFunc] = function(someVar){
	
	console.log(someVar);
	return 7;
}();

//error thrown: (intermediate value) is not a function or its return value is not iterable
Run Code Online (Sandbox Code Playgroud)

如果你命名这个函数,它不再是intermediate:

function hi(){return undefined}

[a] = hi(); 

// error thrown: hi is not a function or its return value is not iterable
Run Code Online (Sandbox Code Playgroud)

我理解它指的是中间的东西,但在这种情况下我们有一个匿名函数,并且有方法来确定函数是否是匿名的,因此错误消息可能更明确一些.

搜索js mozilla mdn我找到了这个页面,Array.from可以找到"中间数组"的概念:

更清楚的Array.from(obj, mapFn, thisArg)Array.from(obj).map(mapFn, thisArg),除了不创建中间数组之外,具有相同的结果.

但除了这里和那里的信息之外,还不清楚中间值是什么. …

javascript

11
推荐指数
2
解决办法
8248
查看次数

标签 统计

javascript ×2

function ×1

idioms ×1

syntax ×1