为什么都要加上this

为什么都要加上this

canvasLock.prototype.init=function() {

this.initDom();

this.canvas=document.getElementById("canvas");

this.ctx=this.canvas.getContext("2d");

// this.createCircle();

console.log(ctx);

}


正在回答

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

2回答

你好,在构造函数中使用this添加内容是添加在实例化出来的对象上的,但是使用var定义就只是函数中局部的一个变量,不能调用,例如:

http://img1.sycdn.imooc.com//climg/5c9327a0000198db03410226.jpg

结果:

http://img1.sycdn.imooc.com//climg/5c9328100001407404780103.jpg

自己可以测试下。

好帮手慕星星 2019-03-21 11:41:22

你好,使用this是为了将这些方法和属性都添加在canvaLock构造函数上,当函数实例化之后,this就指向实例化出来的对象,那么对象中就会包含这些属性和方法,是可以直接调用的。可以输出看一下:

http://img1.sycdn.imooc.com/climg/5c9307d800016c2a04380499.jpg

祝学习愉快!

  • 提问者 浑俗和光233 #1
    那么和直接var 生成有什么区别呢,不是也可以直接调用
    2019-03-21 11:50:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

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

在线咨询

领取优惠

免费试听

领取大纲

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