请教 ES6变量的结构赋值中,自定义弹框的例子
1、构造函数的声明方法 function a()与 let a = function()的区别以及为何要这样写?
2、暴露person的执行顺序,person不加括号怎么执行?
3、vue框架3-2中7:20时,为什么说this.cancel拿到是全局的下的?我看视频中隐藏弹出框的方法可以直接用this,而取消事件却要保留this才能再用,为什么?事件和方法的区别一直没弄明白。
Msg.prototype._bind = function({ el, overlay }) { // 保留this const _this = this; // 隐藏弹出框 const hideMsg = function() { _this._el.style.transform = "translate(-50%, -50%) scale(0, 0)"; _this._overlay.style.opacity = "0"; } // 取消事件 const close = function(e) { _this.cancel && _this.cancel.call(_this, e); hideMsg(); };
正在回答
同学你好,
1、源码中不是直接使用的this,而是_this。
2、谁调用了函数,函数里面的this就指向谁。
但是不同的使用场景,this的指向也是不同的。
比如:构造函数里面的this指向实例化对象。全局下的this指向window。
如果this的指向不明朗的话,同学打印this看下到底指向的是谁,就明白了
如果还有疑问,可以新建问题进行提问哦。
如果帮助到了你,欢迎采纳~祝学习愉快~
同学你好,关于同学的疑问,解答如下:
1、两者没有区别。一般情况下,构造函数名,首字母大写哦。语法规定就是这样的,我们只需要记住就可以了。
2、下面这种方法,可以把Person放到window下,这样就可以在全局中调用匿名函数中的Person了,不需要加(),函数名加()会立即执行的哦。
我们可以打印一下window。
3、之所以称为全局下的,是因为this的指向。this指向函数的调用者,如果不提前保存一下,那么点击x时,this指向的就是x,
老师在视频中的写的hideMsg方法中,没有使用到this哦
像onclick、onmouseover这些都是js事件。方法就是定义的函数。比如数组中的pop()、push()等
如果帮助到了你,欢迎采纳~祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星