老师,这里keyboard是属于对象吗?还是方法?

老师,这里keyboard是属于对象吗?还是方法?

slider.js

import BaseSlider from './base.js';


import keyboard from './keyboard.js';


class Slider extends BaseSlider {

    constructor(eloptions) {

      super(eloptions);

      this._bindEvent();

    }


    _bindEvent(){

        keyboard.bindEvent(this);

    }

  }


export default Slider;



keyboard.js

import {LEFT_KEYCODE,RIGHT_KEYCODEfrom './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()的方法?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,问题解答如下:

1、keyboard是字面量对象{},里面定义了bindEvent方法,所以可以通过keyboard.bindEvent()来调用。类比es5是这样的

http://img1.sycdn.imooc.com//climg/601a814d0920ccbe04330170.jpg

2、{}是在第一阶段中面向对象中讲解的,忘记了可以回顾下

https://class.imooc.com/lesson/1628#mid=38480

3、编程题自己能够测试成功就好,如果有问题,可以将全部代码粘贴上来,老师帮助测试。

祝学习愉快!

  • weixin_慕沐1378591 提问者 #1

    嗯嗯,代码能够调通就是对之前的知识有些忘了,字面量对象能够理解,但是为什么不是键值对的样子呢? 


    2021-02-03 19:33:08
  • weixin_慕沐1378591 提问者 #2

    如何从键值对转为上述的 func = { bindEvent(...){...} }这样的形式呢...

    2021-02-03 19:35:27
  • weixin_慕沐1378591 提问者 #3

    额... 找到了,在对象字面量的增强与函数参数的默认值的课程里...
    http://img1.sycdn.imooc.com//climg/601a8b060943274710700497.jpg

    2021-02-03 19:37:50
好帮手慕星星 2021-02-04 09:31:10

同学你好,自己能够找到解决方式是很棒的哦!

继续加油~

weixin_慕沐1378591 提问者 2021-02-03 16:59:20

找了下之前课程,也没具体的找到这里的解释,老师可以详细解释下吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师