1.let 变量
注:
由于小白我使用的是 freeCodeCamp学习的,所以后面代码更多是搬运其中的,保留其中的精华,同时根据自身问题提出一些见解,希望可以帮到各位道友。(拱手)
1.let是相对于var但有块级作用域特点,只在包含自身的代码块中有效,代码块之外则显示无定义。
注:代码块指括号以内的代码集合。
例子:
let a=0,b=4;
{let c=7}
console.log(a);
console.log(c);
//输出接过显示a的值,Console。log(c)显示为c无定义。
2.let声明的变量不允许在未声明变量前调用。
例子:
console.log(a)
let a =1
//会报错而用Var定义变量时返回值为undifined即显示函数未定义。
3.let对于处在同意代码块内的函数调用与var类似,不影响作用域链
例子:
{let a = 2;
function cww=(){
console,log(a)
}}
//函数返回a=2。
4.另let与var在应用时的区分:
这里当使用let 定义时,for函数可以正常的输出目标函数,但当使用var定义变量i时,须用已注释掉的函数才能正常输出,若仍用与原函数则i=3,即i返回的是其最终上一级执行完的结果。
2.const声明常量
1.Const必须赋初始值
2.const定义量一般命名法为大写
3.const常量值不能更改;
4.const同样为块级定义域
5.当const定义常量指向一个数组或对象时,对这个常量中元素的增减不算作时对这个常量的改变,不会报错,原因是这个常量指向的地址没有发生改变。但若是将常量指向其他属性的元素,就会报错。
3.解构函数:
例子:
const a=['1','2','3'];
let [b,c,d]=a;
//则相当于将a数组的各个值对应的分配给吧,从b,c,d;
//对对象的解构
const li = {
name : '李梅',
sex : '女',
favouriteSports:'足球',
quote:function () {
console.log('苦心人天不负卧薪尝胆三千越甲可吞吴')};
}
let {name,sex,favouriteSports,quote}=li;
/*此处括号应与解构函数相同,所以为花括号。函数同样调用,此时quote为function () {
console.log('苦心人天不负卧薪尝胆三千越甲可吞吴')}。*/
quote();
//这是会输出苦心人天不负卧薪尝胆三千越甲可吞吴。
}
1.解构赋值方法适合多个变量须同时赋值的情况,减少书写量。同时也使下次调用更为方便。
4.模板字符串
1.格式:反括号· ·,增加内容或进行字符串拼接用”¥{}“。
例子:
let I = "祖哥";
let nb="${I}威武";
console.log(nb);
//则会输出祖哥威武。
5.箭头函数
1.与function定义函数区别:
其”this“是静态的,始终指向函数在声明是所在作用域下的this值。
2.不能作为实例化对象,暂时不懂 !!
案例:
3.箭头函数的省略写法:
当函数有且只有一个形参时,小括号可以省略;当代码体只有一条语句时,可以省略花括号,此时,若语句含有return,return也必须省略,此时语句的执行结果就是函数的返回值。
例:
let c=(n)=>{
return n+2;
};
consloe.log(c(1));
//这种情况下可以对箭头函数小括号省略如下:
let c=n=>{
return n+2;
};
consloe.log(c(1));
//省略花括号和return
let c=n=> n+2;
consloe.log(c(1));