首先,什么是匿名函数?
- 匿名函数主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环境,增加代码的兼容性。(如下图)
那么 他的作用是什么?
我们首先假设一个场景,一个网站使用了jQuery框架进行了许多的DOM操作,然而,在“有心人”的操作之下,能够将整个jQuery的'$'函数变成其他的功能,例如:
在控制台中输入:
$=null
那么页面中有关jQuery的DOM操作将可能无法使用,但是如果有心人将null改成其他的语法呢?那么这也会引起许多的危险操作。
如何避免
将页面中使用的各类函数都封在以下函数中:
(function ($){})($);
将jQuery特有的'$'符号作为参数传入匿名函数中以保护页面中的内容,当然,除了jQuery也有其他的框架也可能需要有这样的匿名函数来保护页面。只要使用的得当,自然能够避免这些不必要的麻烦。
个人的看法:这个匿名函数也有些类似于ES6中的let方法,所声明的内容能够有效避免全局变量的产生,所以即使在控制台中,也不能够随意改变该页面的内容,我想 let方法的出现可能就是为了补充前面的不足吧。
上面的是我个人的看法,至于有没有什么补充的,欢迎大家来一起探讨,本人还只是一个小白,其知识并不是很多。希望可以多多指教
(这是我的第一篇文,还不是很会写)