函数声明可以定义命名的函数变量,而无需给变量赋值。是一种独立的结构,不能嵌套在非功能模块中。可以将它类比为Variable Declaration,就像变量声明必须以 var开头,函数声明必须以"function"
将函数定义为表达式语句(通常是变量赋值)的一部分。可以是命名的,也可以是匿名的。
splice以前对它的认识很模糊,与slice等数组方法很类似。昨天看函数式编程中说到slice是一个纯函数,而splice不是,传入相同的参数返回的结果有可能会不相同。 因为它返回的是被删除的元素组成的数组,并且原数组会被改变。这样对数据操作是不好的。 定义是:splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
- 语法
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)
- 利用splice来交换数组中任意两个元素
var arr = [1,2,3]
//arr[n]等于被删除索引为k的项,并插入arr[n]到索引为k的位置实现了交换
arr[n] = arr.splice(k,1,arr[n])
- 但是最经典并且性能最高的方法还是用一个临时变量来实现交换