JavaScript - 匿名函数具名化
匿名函数具名化
所谓匿名函数具名化:其实就是给匿名函数起个名字。这是一个非常规范的操作。
匿名函数具名化有如下几个特点
- 匿名函数具名化后,这个名字可以在当前函数形成的私有上下文中使用,代表当前函数本身
- 此名字不能在当前上下文以外的其它上下文中使用
- 在本函数上下文中使用时,它的值是不允许修改的
- 但是如果当前名字在被当前上下文中的其它变量声明过,则名字就变成了变量名,跟函数具名就没有任何关系了,所以变量的值是可以改的。
(function b(){if(i >= 3) return;console.log(i);b(++i);//匿名函数具名化后,这个名字可以在当前函数形成的私有上下文中使用,代表当前函数本身
})(1);
//此名字不能在当前上下文以外的其它上下文中使用
console.log(b); // Uncaught ReferenceError: b is not defined;
(function b(){console.log(b);// f b(){}b = 200;//在本函数上下文中使用时,它的值是不允许修改的//此处输出依然是b函数,b没有被改为200console.log(b);// f b(){}
})();
(function b(){console.log(b);// undefined => b是变量名,不再是函数了// 但是如果当前名字在被当前上下文中的其它变量声明过,则名字就变成了变量名,跟函数具名就没有任何关系了,所以变量的值是可以改的。var b = 200;console.log(b);// 200 => b是变量名,不再是函数了
})();
JavaScript - 匿名函数具名化相关推荐
- 一家之言:谈谈JavaScript匿名函数(转)
匿名函数的概念大家也许不会陌生,但是我相信下面的内容会打开一些新的思路. 我们知道函数的定义方式有两种: 1 function fn1(){alert('fn1 works');} 2 var fn2 ...
- javascript匿名函数的各种执行形式
近期在研究Pomelo源码,这个框架基于Node.js,所以非要频繁地与JavaScript脚本打交道不可.因此,本文中我们来总结 javascript语言中匿名函数的主要目的及各种存在形式.其实,匿 ...
- javascript匿名函数的理解
复制粘贴 [color=red]点评:请记住,关键点是理解javascript的函数概念(参考w3cshool对函数的描述,搜索关键字:ECMAScript 函数).以及()的运算的理解. 比如:va ...
- linux 运行函数名,JavaScript匿名函数的各种执行形式
近期在研究Pomelo源码,这个框架基于Node.js,所以非要频繁地与JavaScript脚本打交道不可.因此,本文中我们来总结 JavaScript语言中匿名函数的主要目的及各种存在形式.其实,匿 ...
- JavaScript匿名函数介绍
JavaScript匿名函数介绍 匿名函数顾名思义指的是没有名字的函数,在实际开发中使用的频率非常高. JavaScript匿名函数最常见的用法: (function(){ //运行的代码 })(); ...
- javascript 匿名函数的理解
代码如下: (function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他 ...
- Javascript匿名函数
ü 定义 匿名函数的定义非常简单:就是没有名字的函数.但是其用途非常的大 ü 典型的函数定义方式 在看匿名函数之前我们先看下在Javascript中定义一个函数比较典型的几种方式 函数声明 fun ...
- JavaScript匿名函数以及在循环中的匿名函数
一 历史 JavaScript其实是一门奇异的语言,TA的一大特性是没有块级作用域 for(var i=0;i<10;i++){} console.log(i) 大家猜测下值是多少? 答案是 1 ...
- (转)javascript匿名函数
文章来源: http://hi.baidu.com/koen_li/blog/item/4b14e4fc0c9b140c08244d8c.html 匿名函数的写法 顾名思义,就是没有名字的函数(⊙﹏⊙ ...
最新文章
- shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
- 关于移除节点的IE和Firefox的兼容问题
- 这几个 IntelliJ IDEA 高级调试技巧,用了都说爽!
- 怎样在php中使用PDF文档功能
- HDFS文件和HIVE表的一些操作
- jquery中$.each循环的跳出
- 屏幕时代,开发者如何撬动亿级受众,获得用户增长
- Java System.getProperty()
- 在vSphere Client使用模板部署虚拟机 系统硬盘空间扩展
- Hibernate HQL详解
- MapGuide Windows编译
- 数值分析·学习 | 平方根法和追赶法matlab实现
- 数据不正态分布如何办?
- NLP6:stanford Parser中文分词
- 不可多得的干货!双非渣本Android四年磨一剑,终局之战
- Idear创建Maven项目
- GIF动态图制作工具(免费),附教程
- Microsoft 365独家安全解决方案
- Live555本地保存H264/PCM视频音频帧附加SPS/PPS
- 根据卫星的方位角和仰角画卫星星空图(QT实现)
热门文章
- Spark面试题(二)
- 解决导出excel文件名中文乱码的问题
- 智能车浅谈——抗干扰技术硬件篇
- mysql查询1999年后出生的_超级珍贵的30年前老照片,1999年前出生的看到一半泪奔了!...
- 微信开发 (四) 微信网页授权
- 电脑连WiFi怎么查看密码是多少
- LINUX磁盘分区挂载笔记
- adb 查看手机的ip地址
- VBA 图表的基本操作
- xbox控制台小助手服务器连接已阻止,win10系统xbox控制台小帮手无法登录,提示目前您无法登录怎么办...