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 相关文章推荐
用倒置滤镜把div倒置,再把table倒置。
Jul 31 Javascript
Javascript中的window.event.keyCode使用介绍
Apr 26 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
详解JavaScript中的4种类型识别方法
Sep 14 Javascript
javascript实现简单加载随机色方块
Dec 25 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
Javascript动画效果(3)
Oct 11 Javascript
jquery获取easyui日期控件的值实现方法
Nov 09 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
vue中$nextTick的用法讲解
Jan 17 Javascript
JS造成内存泄漏的几种情况实例分析
Mar 02 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实现数组筛选奇数和偶数示例
2014/04/11 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
php输出图像的方法实例分析
2017/02/16 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
vuex入门最详细整理
2020/03/04 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python numpy库np.percentile用法说明
2020/06/08 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
物流专业大学应届生求职信
2013/11/03 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
运动员入场前导词
2015/07/20 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书