刚刚在 Javascript 中遇到了一个时髦的函数重写概念。
var foo = function () {
alert("Hello");
foo = function () {alert("World !");};
};
foo();
foo();
这些在什么情况下有用,是否有其他脚本语言支持这种代码?
提琴手链接:http: //jsfiddle.net/4t2Bh/
刚刚在 Javascript 中遇到了一个时髦的函数重写概念。
var foo = function () {
alert("Hello");
foo = function () {alert("World !");};
};
foo();
foo();
这些在什么情况下有用,是否有其他脚本语言支持这种代码?
提琴手链接:http: //jsfiddle.net/4t2Bh/
您可以使用此习惯用法在第一次调用时像这样初始化 LUT
var getBase32Value = function (dummy) {
var base32Lut = {};
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
for(var i=0; i<alphabet.length; i+=1) {
base32Lut[ alphabet[i] ] = i;
}
getBase32Value = function (v) {
return base32Lut[ v ];
}
return base32Lut[ dummy ];
}