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 相关文章推荐
JavaScript中Null与Undefined的区别解析
Jun 30 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
js和jquery实现监听键盘事件示例代码
Jun 24 Javascript
JavaScript实现斗地主游戏的思路
Feb 29 Javascript
jQuery实现6位数字密码输入框
Dec 29 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
在vue中动态添加class类进行显示隐藏实例
Nov 09 Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 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中的ini配置原理详解
2014/10/14 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
Web技术实现移动监测的介绍
2017/09/18 Javascript
详解基于mpvue的小程序markdown适配解决方案
2018/05/08 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
python操作excel的方法
2018/08/16 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
幼儿如何来做好自我评价
2013/11/05 职场文书
数控专业推荐信范文
2013/12/02 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
公司开除员工通知
2015/04/22 职场文书
欠条格式范本
2015/07/03 职场文书
病假条格式范文
2015/08/17 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL