js函数调用的方式

 更新时间:2014年05月06日 10:45:23   作者:  
这篇文章主要介绍了js函数调用的方式,需要的朋友可以参考下

Js函数调用的方式有如下几种情况:

(1)具名函数直接调用

复制代码 代码如下:

function foo()
  {
  }
  foo();

(2)匿名函数通过引用来调用

复制代码 代码如下:

  fooRef = function()
  {
  }
fooRef();

(3)没有引用的匿名函数调用1

复制代码 代码如下:

(function()
 {
}());

(4)没有引用的匿名函数调用2

复制代码 代码如下:

 (function()
 {
 })();
 

 (5)没有引用的匿名函数调用3
 

复制代码 代码如下:

 void function()
 {

 }();


图1.1,图1.2表明了这两种表达式的运算过程是不一样的,图1.1中是用强制运算符使函数调用运算得以执行,图1.2中则用强制运算符运算"函数直接量声明"这个表达式,并返回一个函数自身的引用,然后通过函数调用运算"()"来操作这个函数引用。而上面的最后一个匿名函数调用void function(){}();则用于调用函数并忽略返回值,运算符void用于使其后面的函数表达式执行运算。如果我们不使用"void"与强制运算"()",代码能否执行:

(1)function(){}()  //使用''()"强制调用

(2)function(){}();  //使用";"来执行语句

脚本引擎会认为function(){}是函数声明,从而通不过语法检测,代码被解析成这样:

function(){};();

function(){}被作为声明被解释,而"();"被独立成一行来解释,因而会报语法错误,为什么知道是"();"导致的错误?我们改成如下代码:

function(){}(1);

这样就会被引擎解释为:

fucntion(){};

(1);  //单值表达式

因而通过了语法检测...

相关文章

  • JavaScript数据类型相关知识详解

    JavaScript数据类型相关知识详解

    这篇文章主要介绍了JavaScript数据类型相关知识详解,文中有非常详细的代码示例,对正在学习js数据类型的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-04-04
  • 浅谈JavaScript function函数种类

    浅谈JavaScript function函数种类

    这篇文章主要介绍了JavaScript function函数种类,包括普通函数、匿名函数、闭包函数、十分的全面,并附上了示例,这里推荐给大家,希望对大家能有所帮助。
    2014-12-12
  • readonly和disabled属性的区别

    readonly和disabled属性的区别

    这篇文章主要介绍了readonly和disabled属性的区别,非常的简单实用,需要的朋友可以参考下
    2015-07-07
  • Javascript入门学习资料收集整理篇

    Javascript入门学习资料收集整理篇

    为大家更好的接触和学习js资料,所以我转了这篇文章,我大约的看了下,文章写的非常不错,希望大家不要急,慢慢看,第一次看不懂不要紧,多练习就可以了
    2008-07-07
  • JavaScript Undefined,Null类型和NaN值区别

    JavaScript Undefined,Null类型和NaN值区别

    js中一些空值问题,未定义等一系列的区别说明
    2008-10-10
  • 关于JavaScript中string 的replace

    关于JavaScript中string 的replace

    在使用JavaScript对字符串进行处理的时候我们经常会用到replace方法,很简单的一个方法,以前一直不以为意,直到今天看JavaScript语言精粹的时候读到了一个有趣的小例子的时候,并不是十分理解,了解了一下replace的用法才明白,原来replace不像想象中的那么简单
    2013-04-04
  • 深入剖析JavaScript编程中的对象概念

    深入剖析JavaScript编程中的对象概念

    这篇文章主要介绍JavaScript编程中的对象概念,也是JS面向对象编程的基础知识,需要的朋友可以参考下
    2015-10-10
  • ES6新增关键字let和const介绍

    ES6新增关键字let和const介绍

    这篇文章介绍了ES6新增的关键字let和const,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8

    JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代

    今天使用F12调试的时候提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8,需要的朋友可以参考下
    2017-06-06
  • web面试之JS预解析与变量提升区别

    web面试之JS预解析与变量提升区别

    这篇文章主要介绍了web面试中常会问道的问题,JS函数预解析与变量提升区别,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-09-09

最新评论