<!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…