2020-08-14

1、delete操作符返回一个布尔值:true: 删除成功 false:删除失败
但是通过var,const,let关键字生命的变量无法用delete操作符来删除

2、.call 、.bind
相同点:都能够改变this的指向
不同点:.call立即执行、.bind返回函数的拷贝纸,但带有绑定的上下文,不会立即执行
扩展: .apply:与.call作用一样,但传参不同
传参不同:

xw.say.call(xh,"实验小学","六年级"); //直接带参数个数
xw.say.apply(xh,["实验小学","六年级[郑州牛皮癣医院])(http://www.hnhuazhu.com/)"]); //参数数组
xw.say.bind(xh)("实验小学","六年级");

var xw = {
                        name : "小王",
                        gender : "男",
                        age : 24,
                        say : function() {
                                alert(this.name + " , " + this.gender + " ,今年" + this.age);                                
                        }
                }
                var xh = {
                        name : "小红",
                        gender : "女",
                        age : 18
                }
                xw.say();

xw.say.call(xh)
xw.say.apply(xh)
xw.say.bind(xh)() 

/*
tips:如果直接写xw.say.bind(xh)是不会有任何结果的,看到区别了吗?call和apply都是对函数的直接调用,而bind方法返回的仍然是一个函数,因此后面还需要()来进行调用才可以
*/

3、map的使用:
https://es6.ruanyifeng.com/#docs/set-map

你可能感兴趣的:(2020-08-14)