Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我写的这段代码有什么问题?_Javascript_Function - Fatal编程技术网

Javascript 我写的这段代码有什么问题?

Javascript 我写的这段代码有什么问题?,javascript,function,Javascript,Function,我试图让所有的常数都在它们旁边,但没有任何效果。 这是这里的javascript代码 函数转换(文本){ var输出=”; 对于(变量i=0;i

我试图让所有的常数都在它们旁边,但没有任何效果。 这是这里的javascript代码

函数转换(文本){
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));