JS中的函数名就是一个变量吧?

JavaScript011

JS中的函数名就是一个变量吧?,第1张

JS中的函数名就是一个变量吧?

首先看nbyh2012,js创建函数方法两种方式是正确的,

function foo () {} // 函数定义

var foo = function() {} // 函数变量

它们都是创建函数的方法。

区别是

函数1,其实是函数声明和定义。

函数2,先建变量,再将匿名函数赋给变量。

在实际用的过程中,

函数1,定义的函数可以在使用之后,就是说你先调用 foo()再创建 function foo () {} 是正确的。

函数2,你只能先创建再调用函数,因为foo其实是个变量。在它没指向函数之前,不能使用foo().

所以你问题,要看函数的定义方式。

array.join(separator)

函数功能:将array中的每个元素用separator为分隔符构造成字符串,默认的separator是逗号,当然你可以自己指定separator

事实上join方法最常用的地方在字符串相加,用过js的人都知道js的字符串相加是特别慢且性能特别差的,把大量片段字符串放在一个数组中并用join方法连接比用+连接要快得多。

array.pop()

pop和push方法使数组array像堆栈一样工作。

函数功能:pop方法移除array中的最后一个元素并返回该元素。

如果array是空的,则返回undefined

array.push(item...)

函数功能:push方法将一个或多个item参数附加到array尾部。但是它不像concat方法那样,push方法不会修改item参数,如果参数item是一个数组,它会将参数数组作为单个元素整个添加到数组中,它返回array的新长度

array.reverse()

函数功能:反转array中元素的顺序,返回当前array

array.shift()

函数功能:移除array中的第一个元素并返回该元素,如果array是空的,它会返回undefined。

shift比pop要慢很多

array.slice(start,end)

函数功能:对array中的一段做浅复制。end参数是可选的,默认值为数组的长度array.length。

如果两个参数中任何一个是负数,array.length将和它们相加来试图将它们成为非负数。

如果start大于等于array.length,得到的结果将是一个新的空数组。