关于javascript function对象那些迷惑分析


Posted in Javascript onOctober 24, 2011

js中function对象是一个令人着迷的东西,但由于他太过于灵活,常常令人迷惑,下面我贴一些代码:

大多数人这样简写:

function test () {}

《jsvascript语言精粹》整本书这样写:

var test = function () {}

函数可以立即运行并赋值:

var test = function () {} () // test === undefined 
var test2 = function () {return '糖饼'}() // test2 === '糖饼'

但是函数简写方式不能直接运行,下面代码会报错:
function test() {}() // SyntaxError: syntax error

如果用”()“运行符包裹后正常:

(function test () {})();

其实这个 函数名 test 已经没有意义了,去掉就成了匿名函数,仍然可以自动执行函数体内代码,常用的匿名函数写法:

(function () {})();

匿名函数还可以这么写可能会”美观“一点:

(function () {}());

看到这,刚接触js哥么是否要疯掉了?我曾看到我项目搞C语言的哥么见过匿名函数后立即石化了…

Javascript 相关文章推荐
如何实现iframe(嵌入式帧)的自适应高度
Jul 26 Javascript
突发奇想的一个jquery插件
Nov 19 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
理解javascript正则表达式
Mar 08 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
js实现仿购物车加减效果
Mar 01 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
百度小程序之间的页面通信过程详解
Jul 18 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
Sep 06 Javascript
Vue项目开发常见问题和解决方案总结
Sep 11 Javascript
文本框根据输入内容自适应高度的代码
Oct 24 #Javascript
js创建数据共享接口——简化框架之间相互传值
Oct 23 #Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
Oct 23 #Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
Oct 23 #Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
Oct 23 #Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
Oct 22 #Javascript
js两行代码按指定格式输出日期时间
Oct 21 #Javascript
You might like
数据库相关问题
2006/10/09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
一张图带我们入门Python基础教程
2017/02/05 Python
用Eclipse写python程序
2018/02/10 Python
python Celery定时任务的示例
2018/03/13 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
模范家庭事迹材料
2014/02/10 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS