day14 ES6(let、const、this、bind、箭头函数、解构赋值、字符串扩展方法)

目录

一、Let

二、const

三、this

四、bind

五、for……in,for……of

六、字符串扩展方法

七、生僻字

八、箭头函数

九、解构赋值

1,解析解构进行赋值

2.交换两个变量的值

十、Set集合

set集合:

数组去重

双色球思想

十一、ES6字符串模板


一、Let

let等价于var,也是用来声明变量的

let的特点:

1,变量必须先定义后使用

2,变量不能重复定义

3,块级作用域:在该块的范围内才能使用该变量,且该变量不会消失

4,暂时性死区:当内部变量与外部变量同名时,内部变量屏蔽外部变量

二、const

const修饰的变量为只读变量

1,变量只能读不能改

2,被conset修饰的变量必须被初始化

3,必须先定义后使用

4,不能重复定义

5,块级作用域

规定:只读变量名通常全部大写

面试题:

const arr=[1,2,3,4];

arr[0]=9;

console.log(arr[0]);//可以运行,因为数组有两个空间,这里改的是空间内的内容,并没有改栈里的地址,所以地址还是一样的

如果

let arr1=[2,3,4];

arr=arr1;

//错误,因为这里改变了引用id就相当于改变栈区,const是只读不写的。

三、this

this:函数的内置对象,只能在函数体内使用

1,与事件连用:代表触发事件的元素本身

2,与普通函数连用,代表该函数的对象

四、bind

功能:修改某个函数的this指向

参数:bind(被修改的this指向)

注意事项:bind是函数对象的一个成员函数

通常用来修饰匿名函数 

var box = document.getElementById("box");
    document.onclick = function(){
        this.style.display = "none";
    }.bind(box);

五、for……in,for……of

for...In...遍历下标

for...of..遍历元素内容

六、字符串扩展方法

str.includes(参数):返回布尔值,表示整串查找

str.startsWith(参数):返回布尔值,表示从开始找

str.endsWith(参数):返回布尔值,表示从后往前找(可用来查找后缀名)

七、生僻字

汉字解析方式:utf-16(16个二进制)

打印汉字对应的unicode码

console.log("\u{21c56}");

console.log(str.codePointAt(0).tostring(16));

八、箭头函数

箭头函数:匿名函数的另一种写法

普通函数:let fun=function(){

                      console.log("");

                   }

箭头函数:let fun1=()=>{

                        console.log("");

                   }

注意事项:

let fun=(a)=>{

        return a+10;

}

若函数的参数只有一个,则可以直接省略参数的小括号

let fun=a=>{

        return a+10;

}

若函数体的代码只有一行,则可以直接省略{}

let fun = a=>console.log(a+10);

如果函数体只有一行代码,则自带return

let fun=a=>a+10;

九、解构赋值

解构赋值:

1,解析解构进行赋值

a.数组

let [x,y,z]=[1,2,3]

b.对象

let {name,age}={name:老王,age:18};

去掉json对象的前缀

let json={"name":"老王","age":18};

let {name,age}=json;

console.log(name,age);

输出:老王,18

2.交换两个变量的值

方法1:中间变量交换

let [a,b]=[1,2];

let t;

t=a;

a=b;

b=t;

方法二:

let [a,b]=[1,2];

a=a+b;

b=a-b;

a=a-b;

方法三:

let [a,b]=[1,2]

[a,b]=[b,a];

十、Set集合

set集合:

没有下标,自动去重

let set =new Set(数组对象)

add(参数)向集合中添加一个元素

delete(值)删除集合中某个数

has(值)判断集合中是否含有某个值

clear()清空集合

集合的遍历需要用到for...of

数组去重

let set =new Set(arr);

将容器转换为数组

arr=Array.from(set);

双色球思想

十一、ES6字符串模板

oUl.innerHTML=``;

被反引号括起来的可以和HTML里的写法一样

如果模板字符串中有变量,该变量需要用${变量}

你可能感兴趣的:(javascript,html5,css)