发表于: 2021-04-20 20:00:56

1 1787


今天完成的事:

1、根据手机桌游精灵app了解了相应的要实现的功能

2、完成了js任务4页面的布置

3、写好了伪代码

 

1、点击继续游戏跳转到法官台本

a、点击讨论,confirm一下,背景颜色变灰

b、全民投票,跳转到投票页面,点击方框会在下面会出现

刀的图案(用js控制)

c、点击确定后跳转到法官台本,用js添加html元素

d、点击法官日志,刚点击过的背景颜色变灰,下面按钮字变成返回

e、重复讨论,投票阶段

 

2、用sessionstorage保存杀掉的人数

3、当杀人人数==平民人数时宣布游戏结果

4、点击结束游戏,返回主页面页面

 

明天计划的事:

编写页面功能逻辑,有时间的话看下Ajax

 

收获:

ES6 this

总结:箭头函数体内的 this对象,就是定义该函数时所在的作用域指向的对象

例子:

var name = 'window'

var A = {

   name: 'A',

   sayHello: () => {

      console.log(this.name)

   }

}

A.sayHello();//输出window

作用域是指函数内部,这里的箭头函数,也就是sayHello,所在的作用域其实是最外层的js环境,因为没有其他函数包裹;然后最外层的js环境指向的对象是winodw对象,所以这里的this指向的是window对象。

 

永远绑定A的情况:

var name = 'window'

var A = {

   name: 'A',

   sayHello: function(){

      var s = () => console.log(this.name)

      return s//返回箭头函数s

   }

}

var sayHello = A.sayHello();

sayHello();// 输出

var B = {

   name: 'B',

}

sayHello.call(B); //还是A

sayHello.call(); //还是A

 

 

再来理解下“该函数所在的作用域指向的对象”这句话:

1、该函数所在的作用域:箭头函数所在的作用域是sayHello,因为sayHello是一个函数

2、作用域指向的对象:A.sayHello指向的对象是A

 

 

普通函数的this指向问题:

1、以函数的形式调用时,this永远都是window   fun()

2、以方法的形式调用时,this就是调用方法的那个对象  obj.name()

3、当函数以构造函数的形式创立时,this就是新创建的对象

Function Person(){

//执行语句

alertthis);

}

 

 var per = new Person()

这里this指向 per对象

 

对比起来箭头函数指向要比this简单很多



返回列表 返回列表
评论

    分享到