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 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
JavaScript中__proto__与prototype的关系深入理解
Dec 04 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
Jun 03 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
vue 实现全选全不选的示例代码
Mar 29 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
JS实现点餐自动选择框(案例分析)
Dec 10 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 Javascript
JavaScript async/await原理及实例解析
Dec 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中call_user_func_array的作用
2013/06/07 PHP
php单例模式实现方法分析
2015/03/14 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
使用Javascript简单计算器
2018/11/17 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
Python Socket编程之多线程聊天室
2018/07/28 Python
Python中is和==的区别详解
2018/11/15 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
int和Integer有什么区别
2013/05/25 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
促销活动策划方案
2014/01/12 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
小学语文教研活动总结
2014/07/01 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
十八大标语口号
2014/10/09 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis