美文网首页
js匿名函数自调用

js匿名函数自调用

作者: NSWhoohoo | 来源:发表于2019-02-24 23:43 被阅读0次

对于一个js匿名函数

function (){alert('message')}

自调用这个匿名函数

function (){alert('message')}

这样解释器会报错

为什么呢? 原因可以看一个普通js函数的调用

function a(){alert('message')}  // undefined

这是一个函数声明,如果在这么一个声明后直接加上括号调用,解析器不能理解而会报错:

function a(){alert('message')}()        // SyntaxError: unexpected_token

而a函数申明时候,调用就可以直接加()

a() // undefined

这里可以看出无论是命名函数还是匿名函数,都是函数申明,而直接对匿名函数加()之后,解释器就不能理解而报错了

要自调用匿名函数,就需要把匿名函数声明语句变成一个表达式

!function(){alert('message')}()        // true
+function(){alert('message')}()        // NaN
-function(){alert('message')}()        // NaN
~function(){alert('message')}()        // -1
(function(){alert('message')})()        // undefined
(function(){alert('message')}())        // undefined
以上都是通过一元运算符或者括号,这样解释器就可以知道,这不是函数申明,而是函数表达式.

相关文章

  • 【JS】匿名函数

    本节讲解 3 种原生JS的匿名函数。 匿名函数又叫立即执行函数。 因为是匿名的,所以不能被调用。 因为不能被调用,...

  • js匿名函数自调用

    对于一个js匿名函数 自调用这个匿名函数 这样解释器会报错 为什么呢? 原因可以看一个普通js函数的调用 这是一个...

  • android h5 js 匿名函数通信

    android js 互相调用 支持js匿名函数接收 支持js json对象接收 支持js函数返回值获取 通过注解...

  • Javascript中立即执行函数表达式

    前言立即执行函数表达式(也称为自执行匿名函数)形式: 问题:普通函数的调用,我们都知道如何调用,那么匿名函数的调用...

  • js 深入

    * js语法* js的动态函数和匿名函数* js动态函数Functionnew Function();* 匿名函数...

  • WebViewJavascriptBridge 调用过程(一)

    核心思想 1、JS端和OC端各生成一个全局的bridge来处理函数调用和回调函数调用。2、JS端的匿名函数对应OC...

  • Js

    1.自执行函数?用于什么场景?好处? 自执行函数:1、声明一个匿名函数2、马上调用这个匿名函数。作用:创建一个独立...

  • android js bridge 互相调用第二版

    android-js-bridge-v2 android js 互相调用 第二版 1. 支持js匿名函数接收 2....

  • 【第66天】python全栈从放弃入门到放弃

    1 函数 定义普通的函数 定义匿名函数 自执行函数 2 使用匿名函数遍历js数组中的元素 3 函数的返回值 4 调...

  • 箭头函数和普通函数的区别

    定义 变量提升 由于 js 的内存机制,箭头函数需要先定义后调用 构造函数 箭头函数作为匿名函数,不能作为构造函数...

网友评论

      本文标题:js匿名函数自调用

      本文链接:https://www.haomeiwen.com/subject/xndiyqtx.html