<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>let 使用注意事項和細節</title><script type="text/javascript">// let 細節1// (1) let 聲明的變量, 在代碼塊中,則作用域在代碼塊中// (2) var聲明的變量, 在代碼塊中,作用域沒有限制{var name ="韓順平教育";let job ="java工程師";console.log("name=", name);console.log("job=", job);}console.log("name=", name);//console.log("job=", job);//job is not defined// let 細節2// 1. var 可以聲明多次// 2. let 只能聲明一次var num1 =100;var num1 =200;console.log(num1);let num2 =600;//Syntax => 語法//let num2 = 900;//Uncaught SyntaxError: redeclaration of let num2console.log(num2);// let 細節3// 1. let 不存在變量提升// 2. var 存在變量提升console.log("x=", x);//undefinedvar x ="tom";//can't access lexical declaration 'z'console.log("z=", z);let z ="mary";</script></head><body></body></html>
數組賦值解構
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>數組解構賦值</title><script type="text/javascript">let arr =[1,2,3];//如果要看某個變量的類型console.log("arr=>", arr);//數組解構[取出元素]//1.傳統let x = arr[0], y = arr[1], z = arr[2];console.log(x, y, z);//2. ES6風格let [a, b, c]= arr;console.log("==================================");console.log(a, b, c);let [num1, num2, num3]=[100,200,300];console.log(num1, num2, num3);</script></head><body></body></html>
箭頭函數
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>箭頭函數的使用</title><script type="text/javascript">// 傳統定義函數var f1 = function (n){return n *2}console.log("傳統= "+f1(2))// ES6 , 箭頭函數使用let f2 =(n)=>{return n *2;}console.log("f2() 結果= ",f2(100));//200//上面的es6 函數寫法,還可以簡化let f3 = n => n *3;console.log("f3() 結果=",f3(100));//300//函數也可以傳給一個變量=> 看看java基礎匿名內部類function hi(f4){console.log(f4(900));}hi((n)=>{return n +100});hi((n)=>{return n -100});</script></head><body></body></html>
箭頭函數2
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>箭頭函數使用案例2</title><script type="text/javascript">// 傳統var f1 = function (n, m){var res =0for(var i = n; i <= m; i++){res += i}return res}console.log("傳統= "+f1(1,10))// ES6 , 箭頭函數使用let f2 =(n, m)=>{var res =0for(var i = n; i <= m; i++){res += i}return res};console.log(f2(1,10));</script></head><body></body></html>
Floyd求最短路
給定一個 n 個點 m 條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。
再給定 k 個詢問,每個詢問包含兩個整數 x 和 y,表示查詢從點 x 到點 y 的最短距離,如果路徑不存在,則輸出 impo…