我并没有真正使用 Prototype 和 Mootools 进行开发,但我想以下内容在这些框架中也会很有用。
替换使用指定精度的可选第二个参数的本机Math.round():
Math.round(3.1415, 2); // 3.14
用于获取否定谓词的函数的not()方法:
var even = function(x){ return x % 2 === 0; };
var odd = even.not();
even(2); // true
odd(2); // false
但最有用的东西是那些,如果这是一种安全的方法,我会添加到 Object.prototype 中,所以我有一些全局函数来迭代对象属性。
objMap()与 Array.map() 类似,但用于对象:
// returns {a:2, b:4, c:6}
objMap({a:1, b:2, c:3}, function(value) {
return value*2;
});
objValues()和objKeys()从对象中获取属性名称或值的数组:
objValues({a:1, b:2, c:3}); // [1, 2, 3]
objKeys({a:1, b:2, c:3}); // ["a", "b", "c"]
当然objReduce()几乎可以做任何可以想象的事情......
实施细节留给读者练习:-)