当前位置: 首页 > news >正文

Javascript疑问二:匿名函数

被认为是javascript的一个优雅特性,匿名函数到底有怎么样的魅力,是如何讲作用发挥到极致的,学习后完成。

【1】javascript DOM 高级程序设计

匿名函数对于在DOM对象上注册侦听器,或将函数作为参数传递给其他方法时很有用。

【2】http://www.cnblogs.com/TomXu/archive/2011/12/29/2290308.html
 

函数声明:

  function 函数名称 (参数:可选){ 函数体 }

函数表达式:

  function 函数名称(可选)(参数:可选){ 函数体 }

 所以说匿名函数应该是函数表达式。

函数表达式:

  • 匿名函数 
  • 赋值表达式的一部分
  • new表达式
  • 被括号括住的,比如(function foo(){});括号 ()是一个分组操作符,它的内部只能包含表达式
表达式和声明的区别:

 

  •  函数声明会在任何表达式被解析和求值之前先被解析和求值,即使你的声明在代码的最后一行,它也会在同作用域内第一个表达式之前被解析/求值。
  • 函数声明在条件语句内虽然可以用,但是没有被标准化,也就是说不同的环境可能有不同的执行结果,所以这样情况下,最好使用函数表达式。
函数声明只能出现在程序函数体内。从句法上讲,它们 不能出现在Block(块)({ ... })中,例如不能出现在 if、while 或 for 语句中。因为 Block(块) 中只能包含Statement语句, 而不能包含函数声明这样的源元素。
另一方面,仔细看一看规则也会发现,唯一可能让表达式出现在Block(块)中情形,就是让它作为表达式语句的一部分。但是,规范明确规定了表达式语句不能以关键字function开头。而这实际上就是说,函数表达式同样也不能出现在Statement语句或Block(块)中(因为Block(块)就是由Statement语句构成的)。

 

 命名函数表达式:名字只在新定义的函数作用域内有效。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/linne/p/3249277.html

相关文章:

  • 我们应该怎样获得加薪
  • Digester学习笔记(三)转载
  • 【C语言】09条件编译
  • c# winform项目用到的部分知识点总结
  • Intellij IDEA 快捷键整理(TonyCody)
  • C optimization tutorial 翻译 C语言优化教程(一)
  • eclipse 的代码着色插件 --Eclipse Color Theme
  • CentOS上yum安装nginx+mysql+php+php-fastcgi
  • 精简操作系统Linux
  • UVa 10827 - Maximum sum on a torus
  • 九大CTO畅谈软件定义未来
  • 磁盘被写保护
  • Eclipse can not find the tag library descriptor for http://java.sun.com/jsf/*
  • 【AaronYang风格】第一篇 CodeFirst 初恋
  • 想看,该看,需要看的书。。。。。。
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Docker: 容器互访的三种方式
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • webpack4 一点通
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 构建二叉树进行数值数组的去重及优化
  • 你真的知道 == 和 equals 的区别吗?
  • 嵌入式文件系统
  • 如何学习JavaEE,项目又该如何做?
  • 智能网联汽车信息安全
  • Nginx实现动静分离
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • #includecmath
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $jQuery 重写Alert样式方法
  • (4)(4.6) Triducer
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Python) SOAP Web Service (HTTP POST)
  • (ZT)薛涌:谈贫说富
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (理论篇)httpmoudle和httphandler一览
  • (转)c++ std::pair 与 std::make
  • (转)LINQ之路
  • (转)visual stdio 书签功能介绍
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .Net FrameWork总结
  • .net6 webapi log4net完整配置使用流程
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • @Conditional注解详解
  • @Resource和@Autowired的区别
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • []利用定点式具实现:文件读取,完成不同进制之间的