2
這是一個簡化的示例,但我正在研究輸出javascript的代碼翻譯器。由於解析完成的方式,我必須分段輸出翻譯。即我結束了一個JavaScript文件,該文件類似於以下,但很多更長的時間:JavaScript優化:什麼工具可以壓縮順序字符串連接?
function coolfunc() {
var result = "";
greet = function(user,town) {
var output = '';
output += 'Welcome ' + user + '!';
output += 'How is the weather in ' + town + '?';
return output;
}
goobye = function(user,town) {
var output = '';
output += 'Farewell ' + user + '!';
output += 'Enjoy the weather in ' + town + '!';
return output;
}
result += "Some output 1";
result += "Some output 2";
result += greet("Larry","Cool town");
result += goobye("Larry","Cool town");
return result;
}
是否有任何處理器後,我可以用它來凝聚到上述情況類似如下:
function coolfunc() {
greet = function(user,town) {
var output = 'Welcome ' + user + '!'+'How is the weather in ' + town + '?';
return output;
}
goobye = function(user,town) {
var output = 'Farewell ' + user + '!'+'Enjoy the weather in ' + town + '!';
return output;
}
var result = "Some output 1"+"Some output 2"+greet("Larry","Cool town")+goobye("Larry","Cool town");
return result;
}
如果它可以結合相鄰的靜態字符串連接,這將是肉汁。
我認爲yuicompressor或封閉編譯器會這樣做,但據我所知他們不這樣做。
編輯:
評論到目前爲止似乎在告訴我這樣做的翻譯。我不認爲這是最好的選擇,因爲它會使閱讀翻譯變得非常困難......類似於爲什麼人們編寫冗長的代碼然後將其縮小到生產中。
你擔心性能或帶寬?因爲這在性能方面確實不是什麼大問題... – Matchu
嘗試使用模板引擎;它應該更好地分離代碼和標記/消息,並且可能會稍微更高性能。 – davin
@Matchu:帶寬。這不是什麼大問題,但保留所有不必要的變量名似乎很愚蠢。 – user319862