進出口在JavaScript的相當新的,所以不要指望我知道很多別人比什麼書面:)如何生成的JavaScript的JavaScript代碼,如果更多鈔票
所以我有很多的javascript代碼,幾乎看起來javascript文件除了一個數字與每個元素都在變化之外。
我的大部分代碼都在函數內部,因爲它是剪切掉的,所以沒有寫入。
我的代碼的相關部分看起來像:
//Upgrade 1
if (CREDITS >= UpgradePrice1 && Upgrade1 === 0){
document.getElementById("Upgrade1").style.display = "block";}
else{document.getElementById("Upgrade1").style.display = "none";}
//Upgrade 2
if (CREDITS >= UpgradePrice2 && Upgrade2 === 0){
document.getElementById("Upgrade2").style.display = "block";}
else{document.getElementById("Upgrade2").style.display = "none";}
//Upgrade 3
if (CREDITS >= UpgradePrice3 && Upgrade3 === 0){
document.getElementById("Upgrade3").style.display = "block";}
else{document.getElementById("Upgrade3").style.display = "none";
And so on...
的值賦值在StandardValues.js文件名爲:
var UpgradeName1 = "Craftmanship Lvl 1";
var UpgradePrice1 = 100;
var UpgradeContent1 = "+100% Gods Hands! <br> +20% Blessed Farmer!";
var Upgrade1 = 0;
var UpgradeName2 = "Craftmanship Lvl 2";
var UpgradePrice2 = 200;
var UpgradeContent2 = "+100% Gods Hands! <br> +20% Blessed Farmer!";
var Upgrade2 = 0;
And so on...
如果它是一個HTML代碼,我嘗試生成我會使用一個PHP函數,並使其回聲相同的代碼與更改的數字specefic的時間量。 但因爲這是一個JavaScript文件,我真的不認爲這是一個選項?
以前的JavaScript代碼位於.js文件中。
我認爲一個可能的解決方法可能是:
Inside a .php file:
<?php
$Upgrades = 10;
$CurrentUpgrade = 1;
while ($Upgrades >= $CurrentUpgrade){
echo "
<script>
function Upgrade1(){
//Upgrade ".$CurrentUpgrade."
if (CREDITS >= UpgradePrice".$CurrentUpgrade." && Upgrade".$CurrentUpgrade." === 0){
document.getElementById('Upgrade".$CurrentUpgrade."').style.display = 'block';}
else{document.getElementById('Upgrade".$CurrentUpgrade."').style.display = 'none';}
}
</script>
";
$CurrentUpgrade ++;
}
?>
* Sry基因在這部分的任何錯字,使得它相當快。
但我很想將JavaScript代碼保存在我的.js文件中,而不是在我的.php文件中。
所以總結起來我想(如果可能):
- 保持所有的代碼裏面的js文件
- 生成與JavaScript代碼
- 重複相同的JavaScript的JavaScript代碼元素只有一個數字隨每個元素而變化
- 嘗試通過這樣做來縮短代碼量。
- 仍然可以在購買功能中單獨使用任何分配的變量。
我希望我給了所有相關信息:)
在此先感謝。
使用Javascript數組和循環。也就是說,沒有單獨的變量UpgradePrice1,UpgradePrice2等,有一個名爲UpgradePrice的數組。 – nnnnnn
會更好地學習如何編寫循環和函數,所以你不必一遍又一遍地重複你的代碼。 – charlietfl
爲什麼不創建一個帶有兩個參數的函數?這看起來是每個檢查之間唯一改變的。 – httpNick