发表于: 2021-04-20 20:00:56
1 1786
今天完成的事:
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();// 输出A
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(){
//执行语句
alert(this);
}
var per = new Person()
这里this指向 per对象
对比起来箭头函数指向要比this简单很多
评论