首先看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,得到的结果将是一个新的空数组。