关于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 相关文章推荐
动态加载js文件 document.createElement
Oct 14 Javascript
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
JavaScript 设计模式学习 Singleton
Jul 27 Javascript
jquery 插件开发方法小结
Oct 23 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
Jan 15 Javascript
javascript用户注册提示效果的简单实例
Aug 17 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
Mar 28 Javascript
微信小程序 欢迎界面开发的实例详解
Nov 30 Javascript
信息滚动效果的实例讲解
Sep 18 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
解决iView中时间控件选择的时间总是少一天的问题
Mar 15 Javascript
利用Promise自定义一个GET请求的函数示例代码
Mar 20 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
聊天室php&mysql(六)
2006/10/09 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
深入理解(function(){... })();
2016/08/16 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
python使用循环实现批量创建文件夹示例
2014/03/25 Python
python生成器表达式和列表解析
2016/03/10 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
python判断变量是否为列表的方法
2020/09/17 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
八一建军节活动方案
2014/02/10 职场文书
新店开张活动方案
2014/08/24 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
前台接待岗位职责
2015/02/03 职场文书
学校捐书倡议书
2015/04/27 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
golang定时器
2022/04/14 Golang
如何Tomcat中使用ipv6地址
2022/05/06 Servers