老师,这里keyboard是属于对象吗?还是方法?
slider.js
import BaseSlider from './base.js';
import keyboard from './keyboard.js';
class Slider extends BaseSlider {
constructor(el, options) {
super(el, options);
this._bindEvent();
}
_bindEvent(){
keyboard.bindEvent(this);
}
}
export default Slider;
keyboard.js
import {LEFT_KEYCODE,RIGHT_KEYCODE} from './constants.js';
const keyboard = {
bindEvent(Slider) {
document.addEventListener(
'keyup',
ev => {
if (ev.keyCode === LEFT_KEYCODE) {
Slider.prev();
} else if (ev.keyCode === RIGHT_KEYCODE) {
Slider.next();
}
},
false
);
}
}
export default keyboard;
有点迷糊了,一切都没问题,就是想知道为什么这里可以点方法调用
const keyboard = {
bindEvent(Slider) {
document.addEventListener(
'keyup',
ev => {
if (ev.keyCode === LEFT_KEYCODE) {
Slider.prev();
} else if (ev.keyCode === RIGHT_KEYCODE) {
Slider.next();
}
},
false
);
}
}
这一段的keyboard里面第一层花括号的意思是什么?为什么可以通过点调用到里面的bindEvent()的方法?
正在回答
同学你好,问题解答如下:
1、keyboard是字面量对象{},里面定义了bindEvent方法,所以可以通过keyboard.bindEvent()来调用。类比es5是这样的
2、{}是在第一阶段中面向对象中讲解的,忘记了可以回顾下
https://class.imooc.com/lesson/1628#mid=38480
3、编程题自己能够测试成功就好,如果有问题,可以将全部代码粘贴上来,老师帮助测试。
祝学习愉快!
找了下之前课程,也没具体的找到这里的解释,老师可以详细解释下吗?
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星