JavaScript window与undefined作为参数的作用

1、原函数

输出结果:1

如图:

2、加window的参数

输出结果:window对象

如图:

注意:此时的window不是全局变量,而是局部变量

3、关于形参必须传window么?当然是不需要的

输出结果:window对象

如图:

形参可以传任意字符,只要实参传的是window。函数

4、作用一    代码会被压缩,节省空间

5、作用二   提高性能

函数在执行过程中,能在参数中找到window,就不用去全局作用域中找,即效率高,提高性能。

6、是否可以实参也不传?

可以,实参形参都不传,内部还是可以访问到window,这是因为window是全局变量,在哪都可以访问到,此时在全局作用域中寻找的window,效率低,并且上线的时候不会被压缩。

7、为什么要传入undefined?

在自调用的匿名函数的作用域内,确保undefined是真正的未定义,因为undefined能够被重写,赋值。

结论:window作为实参的用意:提高性能;方便代码压缩。

undefined作为形参的用意:防止undefined的值被修改。

 

 

 

 

原文地址:https://www.cnblogs.com/lml-lml/p/6822089.html