1.const定义的变量不可以修改,而且必须初始化(常量) const b = 5 // 正确 // const b // 错误,必须初始化 // b = 4 // 错误,不可被修改 console.log('函数外const定义b:' + b) 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错 for (var i=0;i<=1000;i++) { var sum=0; sum += i; } console.log(sum) 声明在for循环内部的sum,跳出fo…
一: 变量提升与否 var: console.log(a); // undefined var a = 'abc'; // 这段代码实际执行顺序是: var a; //变量声明提升至当前作用域顶部 console.log(a); a = 'abc'; let: console.log(a); // 报错: a is not defined let a = 'abc'; // 这里, 用let声明变量, 变量声明不会提升, 完全按照文档流的执行顺序走 二:作用域问题 var: for (var i…
原文:js中 慎用for(var o in arrays) 遍历数组,for(var i,i< objects.length;i++)与for(var i,n = objects.length;i<n;i++) 的性能区别 一. 慎用for(var o in arrays) for(var o in arrays)有时会遍历出多的东西,你意想不到,慎用: 二. for(var i,i< arrays.length;i++)与for(var i,n = arrays.length;i<…
一.let 1.基本用法 ES6 新增了let命令,用来声明变量. let 的用法类似于 var,但所声明的变量只在 let 命令所在的代码块内有效(一个“{}”相当于一个代码块) { let a = 123; var b = 123; } a // ReferenceError: a is not defined. b let 在 for 循环中的运用:生成十个按钮,每个按钮点击时依次弹出 1-10 for(let i=1;i<=10;i++){ var btn=document.create…