为什么每个函数要加这个前缀CanvasLock.prototype

正在回答 回答被采纳积分+1

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

1回答
卡布琦诺 2018-03-18 12:43:55

CanvasLock是一个函数对象,它的[[proto]]指向的是Function.prototype,因此有的是CanvasLock.call、CanvasLock.apply这些函数对象上的方法(Function.prototype)

而用prototype添加属性的时候,当你实例化以后调用实际上只是调用了原型对象,只调用了一次,不管你实例化几次最多只是内容变了,而在内存中只会出现一次原型对象的函数

希望可以帮到你~

  • 提问者 qq_无味_1 #1
    说的有点笼统,这样比直接用 var 声明要好吗?
    2018-03-18 17:26:09
  • 卡布琦诺 回复 提问者 qq_无味_1 #2
    这里并不是声明变量,是给CanvasLock的原型上定义一个init函数,你可以简单的理解为是实例化或者是初始化代码
    2018-03-19 12:02:40
  • 提问者 qq_无味_1 回复 卡布琦诺 #3
    好的谢谢亲
    2018-03-22 11:04:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5&CSS3进阶与常用框架 2018
  • 参与学习       315    人
  • 提交作业       136    份
  • 解答问题       626    个

如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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