资讯专栏INFORMATION COLUMN

javascript中的for循环

Sunxb / 1759人阅读

摘要:在编程语言中一般都会使用到循环这个方法来一起了解一下循环有意思的地方原生的循环使用由于在原生的中没有块级作用域这个说法所以即使是在循环中定义的在循环之外也是能够访问到这个变量引入的来定义变量这里会显示一个为未定义的引用报错因为这次的是通过来

在编程语言中一般都会使用到for循环这个方法,来一起了解一下for循环有意思的地方

原生js的for循环使用
for(var i = 0; i < 6; i++) {
    //do something
}
console.log(i) // 6

由于在原生的js中没有块级作用域这个说法,所以即使是在for循环中定义的i,在for循环之外也是能够访问到i这个变量

引入ES6的let来定义变量
for(let i = 0; i < 6; i++) {
    //do something
}
console.log(i) // Uncaught ReferenceError: i is not defined

这里会显示一个i为未定义的引用报错,因为这次的i是通过let来进行定义的变量
let是ES6中新引入的一个定义变量的方法,这个方法可以使得定义的变量属于块级作用域(一对大括号包起来算是块级作用域).在块级作用域外不能访问变量

更有意思的部分
for(let i = 0; i < 6; i++) {
    let i = "ace";
    console.log(i); // 输出6次ace
}

可以在这看到在for的作用域中定义了一个新的i,并且打印出当前作用域i出来.引入一个内容

let i = 0; 
let i = "ace"; //Uncaught SyntaxError: Identifier "i" has already been declared

这里会报错,因为用let定义的变量不能够重复进行声明
所以大胆猜测一下,但是没有进行验证,上面循环的形式大概是这样子的

{
    let i = 0; // 循环前数值的初始化
    {
        // 执行循环内的函数
        let i = "ace"; 
        console.log(i);  // 在这里可以看到前后两个i的作用域是不一样的,当内层的作用域找不到i的时候,会向上继续找,直到找到为止
    }
    i++
    if ( ! i < 6 ) return // 循环退出的条件
}

同样的另外一个例子

for (var i = 0; i<6; i++){
    var i = "ace";
    console.log(i); // ace
}
console.log(i) // NaN 因为在执行i++的时候i变成了字符串,所以会是NaN,并且不符合继续循环的判断条件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98880.html

相关文章

  • JavaScript 循环

    摘要:所以结果的不同就是后者能将循环内容至少执行一次。当此语句省略时,表示不进行条件判断,循环将一直执行,只有在循环中使用来跳出循环。支持对数组和类数组对象进行循环,不支持普通对象的循环。支持对字符串进行循环遍历。 JavaScript中直接提供的循环,主要有以下几种 while 循环 和其他语言一样,JavaScript中的while循环有两种形式: while (condition) {...

    gitmilk 评论0 收藏0
  • JavaScript 中的 for 循环

    摘要:在中,引入了新的循环,即循环。而且,遍历数组元素的顺序可能是随机的。所以,鉴于以上种种缺陷,我们需要改进原先的循环。总结一下,循环有以下几个特征这是最简洁最直接的遍历数组元素的语法。 在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循...

    chengjianhua 评论0 收藏0
  • JavaScript中的那些语句

    摘要:前言基本上,我们每天都在和中的各种语句进行着沟通,那些我们经常见面的老朋友,或者是未曾见面的新朋友,它们共同维护着的流程,让我们的程序稳步运行。 前言 基本上,我们每天都在和 JavaScript 中的各种语句进行着 沟通 ,那些我们经常见面的 老朋友,或者是未曾见面的 新朋友 ,它们共同维护着 JavaScript 的流程,让我们的程序稳步运行。那么,你是否对它们足够了解呢 如果文章...

    CoderBear 评论0 收藏0
  • JavaScript-For 循环和 While 循环

    摘要:一循环一个循环会一直重复执行,直到指定的循环条件为。的循环和与的循环是很相似的。如果的值是,循环终止。如果表达式整个都被省略掉了,的值会被认为是。如果求值为假,则跳出循环执行后面的语句。注意使用语句在计算结果为真之前停止循环。 一、For 循环 一个for循环会一直重复执行,直到指定的循环条件为fasle。 JavaScript的for循环和Java与C的for循环是很相似的。 for...

    Clect 评论0 收藏0
  • 循环 JavaScript

    摘要:而且每次循环中都和进行比较以保证循环特定次数以后终止循环。如不得不初始化一个数组并且每次循环都要调用函数。如果有两个数组需要调用函数会怎么样很容易想到的方法是对每个数组都做循环这确实,有能正确执行的代码,就比没有好。 作者:James Sinclair 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58ad37...

    DangoSky 评论0 收藏0
  • 高性能JavaScript阅读简记(三)

    摘要:移植到中的一个典型的达夫设备的例子为一个很长很长的数组。但是达夫设备最初这种诡异的写法和思路,还是惊艳了很多人的,值得我们思考。高性能阅读简记一高性能阅读简记二高性能阅读简记三 四、Aligorithms and Flow Control 算法和流程控制 1、Loops 循环 a、避免使用for/in循环在JavaScript标准中,有四种类型循环。for、for/in、while、...

    psychola 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<