塊級作用域與ES6
阿新 • • 發佈:2020-08-21
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>塊級作用域與ES6</title> </head> <body> <!--<div id="app">--> <!--{{message}}--> <!--</div>--> <div> <button>1</button> <button>2</button> <button>3</button> <button>4</button> </div> <script src="../js/vue.js"></script> <script> // <!--ES5中var沒有塊級作用域的概念,var定義中 {}, if, for 塊級作用域沒有作用,在大括號外面依仍可以用,所以經常用funtion 函式的作用域--> // 在ES6中引入了let,有塊級作用域的作用{ var name = 'wu' console.log(name) } console.log(name) //let 有塊級作用域 { let name1 = 'wu' console.log(name1) } // console.log(name1)//錯誤,沒有定義name1 // 點選按鈕,獲取按鈕 const buts = document.getElementsByTagName('button') // 第一種 var (錯誤) //for(var i = 0; i < buts.length; i++){ // buts[i].addEventListener('click',function () { // console.log('第'+ i + '個按鈕') // }) //} // 第一種 var + function (正確) // for(var i = 0; i < buts.length; i++){ // (function (num) { // buts[i].addEventListener('click',function () { // console.log('第'+ num + '個按鈕') // }) // })(i) // } // 第三種,let 正確 for(let i = 0; i < buts.length; i++){ buts[i].addEventListener('click',function () { console.log('第'+ i + '個按鈕') }) } // ES6的增強寫法 const name = 'wu' const age = 18 const height = 188 const obj = { //ES5的寫法name : name, // ES6的寫法 age, height, //ES5的寫法 eat: function () { console.log('我在吃'); }, // ES6的寫法 run(){ console.log('我在跑步'); } } </script> </body> </html>