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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
jquery 模拟雅虎首页的点击对话框效果
Apr 11 Javascript
js获取视频时长代码
Apr 10 Javascript
Javascript基础教程之定义和调用函数
Jan 18 Javascript
javascript实现简单的二级联动
Mar 19 Javascript
jQuery滚动条插件nanoscroller使用指南
Apr 21 Javascript
javascript对象的相关操作小结
May 16 Javascript
实例详解JSON取值(key是中文或者数字)方式
Aug 24 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
JavaScript异步加载问题总结
Feb 17 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 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实现分页的一个示例
2006/10/09 PHP
图书管理程序(三)
2006/10/09 PHP
模仿OSO的论坛(五)
2006/10/09 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
jQuery实现倒计时按钮功能代码分享
2014/09/03 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
保安岗位职责
2014/02/21 职场文书
一份没有按时交货失信于客户的检讨书
2014/09/19 职场文书