1、原函数
输出结果:1
如图:
2、加window的参数
输出结果:window对象
如图:
注意:此时的window不是全局变量,而是局部变量
3、关于形参必须传window么?当然是不需要的
输出结果:window对象
如图:
形参可以传任意字符,只要实参传的是window。函数
4、作用一 代码会被压缩,节省空间
5、作用二 提高性能
函数在执行过程中,能在参数中找到window,就不用去全局作用域中找,即效率高,提高性能。
6、是否可以实参也不传?
可以,实参形参都不传,内部还是可以访问到window,这是因为window是全局变量,在哪都可以访问到,此时在全局作用域中寻找的window,效率低,并且上线的时候不会被压缩。
7、为什么要传入undefined?
在自调用的匿名函数的作用域内,确保undefined是真正的未定义,因为undefined能够被重写,赋值。
结论:window作为实参的用意:提高性能;方便代码压缩。
undefined作为形参的用意:防止undefined的值被修改。