Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 为什么是“输出”;“未定义”;当i=10时,对于(i=0;i<;10;i+;+;)?_Javascript_For Loop - Fatal编程技术网

Javascript 为什么是“输出”;“未定义”;当i=10时,对于(i=0;i<;10;i+;+;)?

Javascript 为什么是“输出”;“未定义”;当i=10时,对于(i=0;i<;10;i+;+;)?,javascript,for-loop,Javascript,For Loop,我目前正在学习Javascript,在以C++为中心的编程课程期末考试后不到一周,在C++中,当I 尝试: for(var i=0;i代码>变量 i < />代码> 以下是正确的方式,C++和JavaScript是相似的,代码应该有错误: for (i=0; i<10; i++){ console.log(i); } for(i=0;i未定义的是,当您运行此代码时不返回任何内容,您没有任何返回值,控制台将评估您的代码,并在运行后显示返回值..在运行时编写如下输出 This is t

我目前正在学习Javascript,在以C++为中心的编程课程期末考试后不到一周,在
C++
中,当
I 尝试:

for(var i=0;i<10;i++){/*你的东西在这里*/}

添加<代码> var >代码>变量<代码> i < />代码>

以下是正确的方式,C++和JavaScript是相似的,代码应该有错误:

for (i=0; i<10; i++){
  console.log(i);
}

for(i=0;i未定义的是,当您运行此代码时不返回任何内容,您没有任何返回值,控制台将评估您的代码,并在运行后显示返回值..在运行时编写如下输出

This is the number0
This is the number1
.
.
This is the number9
然后呢


控制台写入代码的返回值这里是未定义的

最后的
未定义的
for
循环的返回值-它没有返回值。当您在控制台中键入某个内容时,它的结果会被打印出来。正如我所说,
for
循环的结果是
unde罚款

请尝试将其放在控制台中:

var a = "asdf";
它应该打印未定义的
。但是当您键入时:

a

它应该打印
“asdf”
。这是因为
var
语句的返回值是空的。

返回值会在Chrome的JS控制台中的结果之后立即出现,就像node.JS交互模式和许多其他现代JavaScript控制台一样。您应该忽略最后的未定义值,因为它不属于您的循环,它会在9.I处停止如果您不相信我的话,请在HTML文件中而不是控制台中尝试

一些注意事项:在使用任何未定义的变量之前,您应该始终将var前置到该变量。在您的示例中,您使用i时没有首先定义它。如果这样做,则该变量将位于全局命名空间中,并且可能会覆盖另一上下文或类中的另一个i实例。示例:

function foo() {
    console.log(i);    // i => window.i
}

function bar() {
    var i = 0;         // i => window.bar.i
    console.log(i);
}

for (i=0; i<10; i++) { // loop is using window.i because no var declaration
    console.log(i);    // will log 0 to 9
}

foo();  // will log 9
bar();  // will log 0
函数foo(){
console.log(i);//i=>window.i
}
功能条(){
var i=0;//i=>window.bar.i
控制台日志(i);
}

对于(i=0;我能告诉我们您正在使用的代码吗?标题中的代码没有输出。如果您希望人们回答您的问题,您必须提供您遇到困难的实际代码。如果您需要真正的帮助,您必须提供真实的代码(具有真实的上下文)。标题中的垃圾不会减少它…更不用说标题中的代码不应该有任何输出。
未定义的
在chrome中完成代码时会写入控制台,除非您返回值、使用表达式或写入控制台。请不要将您的代码放在问题的标题中。请确保您的问题是正确的具体说明,但将细节保留在问题的主体中。这个问题更适合聊天室。这个“未定义”去了哪里,为什么?这就是问题的内容:)在这里没有区别-没有引用错误;它也没有解释“未定义”。奇怪的行为,这也会让我困惑。for循环从不返回任何东西,它只运行代码。
a
function foo() {
    console.log(i);    // i => window.i
}

function bar() {
    var i = 0;         // i => window.bar.i
    console.log(i);
}

for (i=0; i<10; i++) { // loop is using window.i because no var declaration
    console.log(i);    // will log 0 to 9
}

foo();  // will log 9
bar();  // will log 0