我创建了一个将英语翻译成猪拉丁语的系统,但它不起作用。问题是变量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>
答案 0 :(得分:0)
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
两次,2)“+”运算符比concat()方法具有更好的性能(参见{{3}在Mozilla开发者网络上。)
答案 1 :(得分:0)
一个简短的方法是:
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 =&gt; erty)。因此,您需要将其设为word.substr(1)。