【ES6】变量 let 以及 const

news/2024/7/11 0:57:16 标签: es6, javascript

var的缺点

1、可以重复声明

javascript">    var a = 12
    var a = 5
    alert(a) //5

2、无法限制修改(没有常量)

javascript">    var a = 12
    a = 5
    alert(a) //5

3、没有块级作用域

javascript">    if(true){
        var a = 5
    }
    alert(a) //5

不可重复声明 let、const

Identifier 'a' has already been declared

javascript">    let a = 5
    let a = 12
    alert(a) //Identifier 'a' has already been declared

值不可修改 const

Assignment to constant variable

javascript">    const a = 12
    a = 5
    alert(a) //Assignment to constant variable
javascript">    let a = 12
    a = 5
    alert(a) // 5

块级作用域 let、const

a is not defined

javascript">    if(true){
      let a = 5
    }
    alert(a) //a is not defined

实例、块级作用域的优势

经典点击案例

<body>
    <input type="button" value="按钮">
    <input type="button" value="按钮">
    <input type="button" value="按钮">
    <script>
        window.onload = function () {
            var aBtn = document.getElementsByTagName('input')
            for (var i = 0; i < aBtn.length; i++) {
                (function (i) {
                    aBtn[i].onclick = function () {
                        alert(i) //0 1 2
                    }
                })(i);
            }
        }
    </script>
</body>

优化后

javascript">    window.onload = function () {
        var aBtn = document.getElementsByTagName('input')
        for (let i = 0; i < aBtn.length; i++) {
            aBtn[i].onclick = function () {
                alert(i)
            }
        }
    }

 


http://www.niftyadmin.cn/n/497361.html

相关文章

FLASH AS3.0 鼠标拖动技术 startDrag();stopDrag();

mc:MovieClipmc添加两个鼠标事件&#xff1a;鼠标按下时 可以拖动&#xff1b;鼠标松开 停止拖动&#xff1b;mc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownHandler);mc.addEventListener(MouseEvent.MOUSE_UP,onMouseUpHandler);private function onMouseDownHandle…

【ES6】箭头函数的基本用法

箭头函数 箭头函数和原来相比&#xff0c;只是写法上的改进&#xff1a; 1、如果只有一个参数&#xff0c;&#xff08;&#xff09;可以省 2、如果只有一个 return&#xff0c;{ } 可以省 function show(){}let show () >{} 实例1、省略( ) 和 { } let show function(a){…

IO---Java 文件复制

利用FileInputStream及FileOutputStream实现文件的复制操作。 FileOutStream outnew FileOutStream(outfile); 如果存在outfile则重构&#xff0c;如果不存在outfile则创建。 FileOutStream outnew FileOutStream(outfile&#xff0c;ture); append ture or flase 如果存在out…

C# string类型和byte[]类型相互转换

string类型转成byte[]&#xff1a; byte[] byteArray System.Text.Encoding.Default.GetBytes ( str ); byte[]转成string&#xff1a; string str System.Text.Encoding.Default.GetString ( byteArray ); string类型转成ASCII byte[]&#xff1a; &#xff08;"01&quo…

【ES6】函数的参数扩展、数组展开、以及默认参数

参数扩展 function show(a, b, ...args){console.log(a) // 3console.log(b) // 4console.log(args) // [5, 7, 8] 是个数组&#xff0c;Rest parameter 剩余参数}show(3,4,5,7,8) ...args 用于收集剩余参数 ...args 必须放在参数末尾&#xff0c;否则报错&#xff1a;Rest par…

帝国CMS模板 标题截取后加入省略号的方法

根据网上一同志的说法&#xff0c;试了没效果后&#xff0c;自己找到了让标题截取后添加省略号的方法。网上有说在t_functions.php修改的见该博文http://www.xuyublog.com/92/如果成功&#xff0c;就可以不用往下看了我试了&#xff0c;是不成功的于是&#xff0c;我就找啊找&a…

JS运动 - 无缝滚动和缓动动画

JS运动 - 无缝滚动和缓动动画 无缝滚动原理:首先先复制两张图片(第一张和第二张)放到最后面;ul绝对定位,如果ul的left值大于等于4张图片的宽度,就应该快速复原为0.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…