js函数调用的方式


Posted in Javascript onMay 06, 2014

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

(1)具名函数直接调用

function foo()
  {
  }
  foo();

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

  fooRef = function()
  {
  }
fooRef();

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

(function()
 {
}());

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

 (function()
 {
 })();
 

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

 void function()
 { }();

js函数调用的方式

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

(1)function(){}()

//使用''()"强制调用

(2)function(){}();

//使用";"来执行语句

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

function(){};();

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

function(){}(1);

这样就会被引擎解释为:

fucntion(){};

(1);

//单值表达式

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

Javascript 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
JavaScript设计模式之单体模式全面解析
Sep 09 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
Nov 02 Javascript
JavaScript中闭包的详解
Apr 01 Javascript
基于vue的换肤功能的示例代码
Oct 10 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
npm 常用命令详解(小结)
Jan 17 Javascript
利用Dectorator分模块存储Vuex状态的实现
Feb 05 Javascript
js使用ajax读博客rss示例
May 06 #Javascript
Android中的jQuery:AQuery简介
May 06 #Javascript
JavaScript获取table中某一列的值的方法
May 06 #Javascript
jQuery判断元素是否存在的可靠方法
May 06 #Javascript
js图片自动轮播代码分享(js图片轮播)
May 06 #Javascript
简单的js图片轮换代码(js图片轮播)
May 06 #Javascript
jQuery is()函数用法3例
May 06 #Javascript
You might like
PHP类的使用 实例代码讲解
2009/12/28 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
关于vue中 $emit的用法详解
2018/04/12 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
浅谈Python的文件类型
2016/05/30 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
python使用zip将list转为json的方法
2018/12/31 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python用700行代码实现http客户端
2021/01/14 Python
Bodum官网:咖啡和茶壶、玻璃器皿、厨房电器等
2018/08/01 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
中英文自我评价常用句型
2013/12/19 职场文书
心理健康心得体会
2014/01/02 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS