Javascript 我写的这段代码有什么问题?
我试图让所有的常数都在它们旁边,但没有任何效果。 这是这里的javascript代码Javascript 我写的这段代码有什么问题?,javascript,function,Javascript,Function,我试图让所有的常数都在它们旁边,但没有任何效果。 这是这里的javascript代码 函数转换(文本){ var输出=”; 对于(变量i=0;i
函数转换(文本){
var输出=”;
对于(变量i=0;i 警报(opishConversion(文本))
charAt
是字符串
原语的本机方法。它应该是charAt(i)
而不是charAt[i]
字符串。charAt是一个函数,而不是索引对象。你需要使用偏旁句而不是方括号
因此:
而不是
text.charAt[i];
您还需要将if语句更改为
&&
而不是
||
更正:
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"))
函数转换(文本){
var输出=”;
对于(变量i=0;i
chatAt()是一个函数,因此不应使用方括号
text.charAt(i);
以上所有答案都将解决您的问题。但是,我还建议您简化逻辑,首先在for循环之前将文本更改为小写
函数转换(文本){
var输出=“”;
var text=text.toLowerCase();
对于(变量i=0;i
你是说辅音,对吗?比如,非元音字母?常数!=辅音你需要提出一个针对特定问题的问题,并避免太广泛的问题,例如“我做错了什么?”整个函数可以用文本替换。替换(/([^aeiou])/gi,$1op”)
…你使用|
应该改为&
。现在你总是在一个字母后添加op
。@斜视给鱼vs教给鱼-修复语法错误并将其返回给他们,而不仅仅是给他们不理解的工作代码。if
语句中仍然有方括号。捕捉得好;逻辑也不正确。更正!算法也是错误的。charAt()
只是问题的一部分。我相信修复阻止代码运行的语法错误将允许OP调试其余部分。:)这不是语法错误,问题是代码有什么问题。
text.charAt(i);
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));