这里有点不清楚,为什么要把window和document传进去
是不是这样调用更快?好像不写也可以对吗???能说说这样写的原理是什么
33
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕久久
2020-07-21 10:19:45
同学你好,问题解答如下:
由于index.js中的变量,是处在一个自执行的匿名函数中,而代码中需要window和document,所以要作为参数传进去。具体如下:
index.js中的代码,都包裹在一个自执行的匿名函数中,形式如下:
这样该js中的变量“canChange”、“curPreviewImgIndex”等,就是一个局部作用域中的变量,而不是全局的,这样的好处就是,它们不会干扰全局中的同名变量。如果不将index.js中的代码包裹在自执行的匿名函数中,变量“canChange”、“curPreviewImgIndex”等就是全局的,如果之前全局中有个变量也叫canChange,那index.js中的canChange就可能将全局的canChange改变,所以将index.js中的代码包裹在自执行的匿名函数中。由于index.js中的代码执行时,需要全局对象window和document:
所以可以将它们俩作为参数,传给这个局部作用域,这样index.js中的代码,直接在当前作用域查找它们就行了。
这样写的主要是为了解决干扰全局变量这个问题,当然,如果确定变量不会重名,也可以不这样写。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星