您当前的位置:首页 > 互联网教程

javascript 的 "!function" 是什么意思

发布时间:2025-05-23 19:03:31    发布人:远客网络

javascript 的 "!function" 是什么意思

一、javascript 的 "!function" 是什么意思

1、!function跟(function(){...})();函数意义相同,叫做立即运行的匿名函数(也叫立即调用函数)。

2、js中可以这样创建一个匿名函数:

3、(function(){dosomething...})()

4、(function(){dosomething...}())

5、而匿名函数后面的小括号()是为了让匿名函数立即执行,其实就是一个函数调用。

6、因为function前面没有(或者!~之类的运算符,js解析器会试图将关键字function解析成函数声明语句,而不是函数定义表达式。

7、作为组运算符,小括号()会将其内部的表达式当成一个整体,然后返回结果,所以定义一个匿名函数正确的格式就是用小括号将函数体括起来。

8、同样的!~+-等运算符也有同样的效果,这是因为匿名函数也是一种值,这些运算符会将后面的函数体当成一个整体,先对匿名函数进行求值,然后在对结果进行运算。

9、不过这些运算符虽然能够达到让匿名函数立即执行的目的,但是要小心他们是有副作用的,比如:

10、没错,他们会对函数的返回值进行运算,这样可能会导致最终的结果和你想要的结果不一样。当然,对于那些没有返回值的函数来说,当然是没有什么影响了。

11、上面的操作其实就等于换个方式去定义函数,这种用法是我们比较频繁遇到的。

12、例如我们在设定一个DOM元素事件处理函数的时候,我们通常都不会为他们定名字,而是赋予它的对应事件引用一个匿名函数。

13、使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)。

14、alert((new Function("x","y","return x*y;"))(2,3));//"6"

15、参考资料来源:百度百科-JavaScript

二、javascript 中,function 方法前面一个分号是啥意思

1、通常是用在立即调用之前。但是并不是因为他是立即调用函数,而是为了文件合并的安全。

2、比如你有两个文件,a.js和 b.js,里面都是一个立即调用函数:

3、(function(){})()

//b.js

4、(function(){})()

如果你在构建过程中把两个文件压缩之后连接到一起,就变成了

5、如果你在构建过程中把两个文件压缩之后连接到一起,就变成了

6、(function(){})()(function(){})()

这样就出了问题,所以为了避免这个问题,你可以在 b.js最前面加一个分号。

7、这样就出了问题,所以为了避免这个问题,你可以在 b.js最前面加一个分号。

8、(function(){})();(function(){})()

很多第三方 JS库需要考虑各种被使用的情况,所以前面可能会写个分号。

9、很多第三方 JS库需要考虑各种被使用的情况,所以前面可能会写个分号。

三、js中的function是什么意思

1、在JavaScript中,function是一种用来封装可重用代码的方式。相当于一种特殊的对象,可以实现对代码的组织和封装。创建一个function后,就可以通过调用它来执行其中封装的代码,从而实现代码的重复使用。

2、Function在JavaScript中具有许多特性。比如函数可以接收传入的参数,并在函数体内对其进行处理;函数可以返回一个结果值;函数也可以嵌套在其他函数内部,让代码更加简洁和可读。

3、另外,Function还具有更高级的特性,如函数可以作为参数传递给其他函数,作为回调函数使用;函数也可以作为对象的方法使用,这样可以增加对象的行为等。

4、使用function需要掌握函数的语法和基本规则,包括函数的定义、调用和执行等。在定义函数时,需要给它一个名称,并设置函数体内的代码。在调用函数时,可以传入函数的参数,然后函数就会按照预先定义好的方式对参数进行处理。执行函数时,函数体中封装的代码就会被执行。还需要注意函数的作用域、变量和闭包等问题,这些都是使用function时需要重点关注的方面。