javascript

Posted im73

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript相关的知识,希望对你有一定的参考价值。

js的数组迭代方法

Array.forEach

forEach方法为每个数组元素调用一次函数(回调函数)。 数组求和: var arr = [1,2,4,67,3]; var result=0; arr.forEach(sumArray); function sumArray(value, index, array) { result += value; } 上面的例子只使用了value一个参数,所以可以省略index和array两个参数。

Array.map

跟forEach类似,不过是通过返回值来建立一个新数组,但不改遍原数组的值。不会为undefined原素执行。 将某一个数组每个元素都*2: var number = [1,2,3]; var doubleNumber = number.map(doubleArray); function doubleArray(value, index, array) { return value * 2; }

Array.filter

跟以上的用法类似,用于筛选满足条件的元素创建新的数组。

Array.reduce,Array.reduceRight

用于迭代计算。接受四个参数total, value, index, array 例数组求和: var arr = [1,2,4,67,3]; var result=arr.reduce(sumArray,0); function sumArray(total, value, index, array) { return total + value; } 可以不用写初始值0,reduceRight类似,只不过计算是从右到左。

Array.every,Array.some

使用方法类似,判断是否数组的所有值或者某一个值满足条件,学过离散数学应该很好理解。 判断是否所有元素大于5: function everyGTZ(value) { return value - 5; }

Array.find,Array.findIndex

使用返回类似,find返回的是数组的元素,findIndex返回的是数组元素的下标,均返回第一个元素。

js函数

跟其他语言类似,参数是通过值传递——如果函数改变了参数的值,它不会改变参数的原始值。对象是引用传递——如果函数改变了对象属性,它也改变了原始值。

js闭包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add();
add();
add();

counter的值是3

以上是关于javascript的主要内容,如果未能解决你的问题,请参考以下文章

30秒就能看懂的JavaScript 代码片段

常用Javascript代码片段集锦

48个值得掌握的JavaScript代码片段(上)

如何将此 JavaScript 代码片段翻译成 Parenscript?

javascript 代码片段

javascript JS-常用代码片段