JavaScript/js 匿名函数

学习笔记 马富天 2018-11-20 10:24:57 2 0

【摘要】匿名函数指的是没有函数名称的函数。其实,众所周知的 jquery 就是一个匿名函数,jquery 的代码就是封装在一个匿名函数中 (function(window,undefined){})(window);

第一,看看匿名函数的基本格式:

匿名函数在实际开发运用中很常见,首页以普通的一个 js 函数为例:

  1. //	函数名称为 func,参数 a,b,返回值是 b
  2. function func(a,b)
  3. {
  4. 	console.log(a);
  5. 	return b;
  6. }

此时,我们将函数名去掉:

  1. //	这将会报错,因为不符合语法规则
  2. function (a,b)
  3. {
  4. 	console.log(a);
  5. 	return b;
  6. }

再次,给匿名函数用 () 包起来即可:

  1. //	不会报错,但不能够运行
  2. (function (a,b)
  3. {
  4. 	console.log(a);
  5. 	return b;
  6. })

如果要运行匿名函数则在后面添加小括号 (),里面带着相应的参数:

  1. //	匿名函数已执行
  2. (function (a,b)
  3. {
  4. 	console.log(a);
  5. 	return b;
  6. })('aa','bb')

最后给出 js 匿名函数的一个通用格式:

  1. //	当出现两个连续的匿名函数时,需要使用分号 ; 隔开
  2. (function(){});
  3. (function(){}); 

我们可以查看一下匿名函数的类型:

  1.  //	输出的是:"function",匿名函数的类型就是 function 类型
  2.  console.log(typeof function(){}); 

第二,匿名函数的应用场景:

(1)事件

  1. <input type="button" id="button" value="click me">
  2. <script>
  3. 	btn = document.querySelector("#button");	//	获取 id 为 button 的元素
  4. 	btn.onclick = function(){alert('click')}	//	添加点击事件
  5. </script>

(2)对象

  1. var obj = {
  2. 	name:"mafutian",
  3. 	age:18,
  4. 	fn:function(){
  5. 		return "name :" + this.name + " age:" + this.age
  6. 	}
  7. }
  8. console.log(obj.fn())	//	name :mafutian age:18 

(3)函数表达式

  1. //	将匿名函数的值赋给变量 fn
  2. var fn = function()
  3. {
  4. 	return "my name is mafutian"
  5. }

(4)回调函数

  1. setInterval(function(){
  2. 	console.log('hello world')
  3. },3000)	

(5)作为返回值

  1. function func(){
  2. 	return function(){
  3. 		return "try you best"
  4. 	}
  5. }	
  6. //	调用方法
  7. func()()

以上就是关于匿名函数的相关知识。

版权归 马富天PHP博客 所有

本文标题:《JavaScript/js 匿名函数》

本文链接地址:http://www.mafutian.net/391.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 Apache 2.4.9 开启 Gzip 压缩服务,并解决开启后 http 304 状态码失效问题 》 下一篇《 Windows 下 Apache 服务器配置 Python CGI 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多