let和var在for循环中的不同表现】的更多相关文章

var声明变量: var只有函数作用域,没有块级作用域 //函数作用域的表现 function test(){ var i =10; console.log(i); } test(); console.log(i); // i is not defined; //块级作用域对var没有约束 { var i = 10; console.log(i); } console.log(i); 从上面的代码可了解到,块级作用域对var是没有约束作用的. let声明变量: let与var不同,let是有块级…
循环1: 下面代码运行结果是输出10   <script> var a =[]; for(var i = 0;i<10;i++){ a[i] = function(){ console.log(i); } } a[6](); </script> 循环2: 下面代码运行的结果输出的是9   <script> var a; for(let i = 0;i<10;i++){ a= function(){ console.log(i); } } a(); </…
在for循环中使用let时,结果如下 for内部定义的i在循环结束后不会覆盖外部的i 在for循环中使用var,且不控制i的作用域时,结果如下 第一个for循环内部定义的i并不会创建,而是直接使用外部中的i,故在循环结束时外部的i变为了5. 第二个for循环直接使用了外部的i 把第一个for循环存于匿名函数中,第二个for循环使用var创建变量i,结果如下 第一个for循环置于匿名函数,会创建一个在作用域在匿名函数的i,第二个for循环并未创建i而是直接对外部的i进行赋值 在for循环中使用va…
一. 立即执行函数 windows中有个name属性,name='' '' var 如果我们用var name 去声明,那就会改变windows中name的值(因为我们不是在函数作用域中声明的,所以会覆盖全局的值) 为了避免这种问题,通常我们写一个立即执行函数(可读性不高) const 同样,如果我们用const去声明,也会改变全局的name属性 我们把const声明写在大括号里面,就不会改变全局的name属性了 二. for循环 常见的for循环,console.log(i) 会输出10,wh…
今日处理项目中的一个循环,本来就是一个小小的for循环,后来发现该段程序出现了问题,仔细检查代码没有发现其中的错误.无奈只好叫来了老大帮忙.通过在模版中断点调试(该方式只能自己写debugger断点)我们找到了问题的所在.首先看我们的循环: for(var i =0, len = arr.length; i<len; i++){ console.log(arr[i]); for(var i=0; i<x.length; i++) { console.log(x[i]); } } 这是一个很简单…
<!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <title>关于循环中索引的使用 - by 杨元</title> </head> <body> <h1>关于循环中索引的使</h1> <!--基础html框架-->…
使用Handlebars.js过程中,难免会使用循环,比如构造数据表格.而使用循环,又经常会用到索引,也就是获取当前循环到第几次了,一般会以这个为序号显示在页面上. Handlebars.js中获取循环索引很简单,只需在循环中使用{{@index}}即可. <!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content="text/html; charset=utf-8"&…
jsrender中使用for循环数据时有时需要访问父级数据. 而jsrender在循环中的父级数据存放在隐藏属性parent.parent.data中,使用案例如下 {{:#parent.parent.data}} 具体使用案例如: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>嵌套循环使用#parent访问父级数据 --- by 杨元</titl…
JQuery在循环中绑定事件的问题详解 有个页面上需要N个DOM,每个DOM里面的元素ID都要以数字结尾,比如说 ? 1 2 3 <input type="text" name="username" id="username_1" value="" /> <input type="text" name="username" id="username_2&quo…
在bash中,如果循环在一个子shell中运行,那么在循环中对循环外面的变量的更改将在循环退出后不可见.像下面的例子: #!/bin/sh python run.py | while read line do echo $line let "var=var+1" done echo $var 最后面的echo输出的var仍然是1.原因是while循环位于管道中,这意味着在运行过程中,while循环实际是位于一个新的SHELL中的,while循环中的var变量和文件开头定义的var变量是…