簡體   English   中英

我已經嘗試過,但是我的程序似乎不起作用

[英]I have tried but my program doesn't seem to work

我創建了一個將英語翻譯成豬拉丁語的系統,但是它不起作用。 問題是變量fl沒有顯示。 有誰知道如何解決這一問題?

 function piglatinify() { var word = document.getElementById("textbox").value; var fl = word.substr(1, 1); var wordwithoutfl = word.substr(2, 999); var piglatinword = wordwithoutfl.concat(fl); var piglatinword = piglatinword.concat("ay"); document.write(piglatinword); } 
 <textarea id="textbox"></textarea><br> <button onclick="piglatinify()">See it in pig latin...</button> 

substr()方法的length參數是可選的。 更改此:

var wordwithoutfl = word.substr(2, 999);

對此:

var wordwithoutfl = word.substr(2);

另外,壓縮這些行:

var piglatinword = wordwithoutfl.concat(fl);
var piglatinword = piglatinword.concat("ay");

對此:

var piglatinword = wordwithoutfl + fl + "ay";

出於兩個原因:1)這樣做是為了piglatinword再次聲明變量piglatinword ; 2)“ +”運算符的性能比concat()方法更好(請參見Mozilla開發人員網絡上的此頁 )。

一個簡短的方法是:

    function piglatinify() {
      var word = document.getElementById("textbox").value;
      var piglatinword = word.substr(1) + word.substr(0, 1) + "ay";
      document.write(piglatinword);
    }

另外,請記住Javascript從0開始計數,因此要獲得第一個字母,您需要執行substr(0,1)。 substr(1,1)將給您第二個字母。

word.substr(2,999)可以更改為word.substr(2),因為length參數是可選的,但這會使您得到字符串,減去前2個字母(qwerty => erty)。 因此,您需要將其設置為word.substr(1)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM