有时候,把函数作为参数可以让代码更简洁。
var calculator = {calculate: function(x, y, fn) {return fn(x, y);}};var sum = function(x, y) { return x + y; },diff = function (x, y) { return x - y; };var sumResult = calculator.calculate(2, 1, sum),diffResult = calculator.calculate(2, 1, diff);alert(sumResult + " " + diffResult);
变量sum和diff代表的函数参数和calculator对象的calculate方法的前2个参数保持一致。
□ 数组的every, some, filter方法参数可以是函数
var fruit = ["apples", "oranges", "bananas", "grapes"];//判断是否是字符串function isString(value, index, array) {return typeof value == "string";}//判断每个数组长度是否为1function isLengthOne(value, index, array) {return value.length === 1;}//判断是否有g开头的function startsWithG(value, index, array) {return value[0] === "g";}//过滤以a和b开头的数组元素function startsWithAB(value, index, array) {return value[0] === "a" || value[0] === "b";}var result = fruit.filter(startsWithAB);//打印alert(fruit.every(isString));//判断每个数组元素的类型alert(fruit.every(isLengthOne));//判断是否每个数组元素都为1alert(fruit.some(startsWithG));//判断是否有一些以G开头<PRe style="font-size: 11px; font-family: consolas,'Courier New',courier,monospace; width: 100%; margin: 0em; background-color: #f0f0
新闻热点
疑难解答