Javascript 我已经试过了,但我的程序没有';好像不行
我创建了一个将英语翻译成拉丁语的系统,但它不起作用。问题是变量Javascript 我已经试过了,但我的程序没有';好像不行,javascript,html,Javascript,Html,我创建了一个将英语翻译成拉丁语的系统,但它不起作用。问题是变量fl没有显示。有人知道如何解决这个问题吗 函数piglatify(){ var word=document.getElementById(“textbox”).value; var fl=单词substr(1,1); var wordwithoutpl=word.substr(2999); var PIGLATIWORD=无液体浓缩物的字(fl); var piglatinword=piglatinword.concat(“ay”)
fl
没有显示。有人知道如何解决这个问题吗
函数piglatify(){
var word=document.getElementById(“textbox”).value;
var fl=单词substr(1,1);
var wordwithoutpl=word.substr(2999);
var PIGLATIWORD=无液体浓缩物的字(fl);
var piglatinword=piglatinword.concat(“ay”);
文件。书写(piglatinword);
}
请参阅pig拉丁语…
substr()方法的长度参数是可选的。更改此项:
var wordwithoutfl = word.substr(2, 999);
为此:
var wordwithoutfl = word.substr(2);
var piglatinword = wordwithoutfl + fl + "ay";
此外,请压缩这些行:
var piglatinword = wordwithoutfl.concat(fl);
var piglatinword = piglatinword.concat("ay");
为此:
var wordwithoutfl = word.substr(2);
var piglatinword = wordwithoutfl + fl + "ay";
有两个原因:1)这使得您不会两次声明变量
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(2999)更改为word.substr(2),因为长度参数是可选的,但这将得到字符串,减去前两个字母(qwerty=>erty)。因此,您需要使用word.substr(1)。您的问题是什么?对我来说很好。你能解释一下当你说变量
fl
没有“显示”时你的意思吗?你发布的例子对我来说很好。如果你查看脚本标签,你会看到如果我们把单词hi放进框中,程序应该显示“ihay”,h是fl变量,但它显示“iay”