我试图让所有常量都在它们旁边,但没有任何效果。 这是这里的javascript代码。
function opishConversion(text) {
var output = "";
for (var i = 0; i < text.length; i = i + 1) {
if ((text.charAt[i] !== "a") || (text.charAt[i] !== "A") || (text.charAt[i] !== "e") || (text.charAt[i] !== "E") || (text.charAt[i] !== "i") || (text.charAt[i] !== "I") || (text.charAt[i] !== "o") || (text.charAt[i] !== "O") || (text.charAt[i] !== "u") || (text.charAt[i] !== "U")) {
output += text.charAt[i] + "op";
} else {
output += text.charAt[i];
}
}
return output;
}
var text = prompt("Enter Text To Convert");
alert(opishConversion(text));
&#13;
任何帮助都将不胜感激。
答案 0 :(得分:10)
charAt
是String
原语的本机方法。它应该是charAt(i)
而不是charAt[i]
答案 1 :(得分:4)
string.charAt是一个函数,而不是索引对象。你需要使用parantheses而不是方括号。
这样:
text.charAt(i);
而不是
text.charAt[i];
您还需要将if语句更改为
&&
表示AND而不是
||
校正:
function opishConversion(text) {
var output = "";
for (var i = 0; i < text.length; i = i + 1) {
if ((text.charAt(i) !== "a") && (text.charAt(i) !== "A") && (text.charAt(i) !== "e") && (text.charAt(i) !== "E") && (text.charAt(i) !== "i") && (text.charAt(i) !== "I") && (text.charAt(i) !== "o") && (text.charAt(i) !== "O") && (text.charAt(i) !== "u") && (text.charAt(i) !== "U")) {
output += text.charAt(i) + "op";
} else {
output += text.charAt(i); //rather than text.charAt[i];
}
}
return output;
}
alert(opishConversion("aAbBcCdDeEfFgG"))
答案 2 :(得分:0)
chatAt()是一个函数,所以你不应该使用方括号
text.charAt(i);
答案 3 :(得分:0)
以上所有答案都将解决您遇到的问题。但是,我还建议您通过在for循环之前将文本更改为小写来简化逻辑。
function opishConversion(text) {
var output = '';
var text = text.toLowerCase();
for (var i = 0; i < text.length; i++) {
if ((text.charAt(i) !== "a") || (text.charAt(i) !== "e") || (text.charAt(i) !== "i") || (text.charAt(i) !== "o") || (text.charAt(i) !== "u")) {
output += text.charAt(i) + "op";
} else {
output += text.charAt(i);
}
}
return output;
}
var text = prompt("Enter Text To Convert");
alert(opishConversion(text));