刚刚在Javascript中遇到了一个时髦的函数重写概念.
var foo = function () {
alert("Hello");
foo = function () {alert("World !");};
};
foo();
foo();
Run Code Online (Sandbox Code Playgroud)
在什么情况下这些有用,是否有任何其他脚本语言支持这种代码?
提琴手链接: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 ];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |