我一直在翻译一个JavaScript库到C#和我碰到一些奇怪的东西给我对象像函数的构造,JavaScript的
原作者有一个函数内部的“构造”。这是我以前从未见过的一种方式:
var name = function(/*parameters*/)
{
/*Set instance variables here*/
this.BMAX = 16; // maximum bit length of any code
this.N_MAX = 288; // maximum number of codes in any set
{
/*Constructor logic here*/
var a; // counter for codes of length k
var c = new Array(this.BMAX+1); // bit length count table
var el; // length of EOB code (value 256)
var f; // i repeats in table every f entries
//Etc....
}
}
这是常见的做法吗?这是我第一次看到这样做。
如果是这样,有人可以解释为什么有一组额外的括号?为什么不把它们全部放在那里?
这是否“有效”?
额外块,从减少的代码片段,似乎任何起不到任何作用。 – Quentin 2014-09-29 10:11:44
我可以发布完整的代码,但它会大......它的压缩库 – FabianCook 2014-09-29 10:12:06
你应该删除90%的变量。留下足够的关键点;-) – Cerbrus 2014-09-29 10:16:26