本文实例讲述了javascript匿名函数的用法。分享给大家供大家参考。具体分析如下:
摘要:
本文讲解的是javascript最基础也是最重要的东西--函数,之所以写这篇文章,是因为面试的时候问到了,也算是温故而知新了。
先上个例子,如果你看懂了,说明你已经理解了本文要讲的。
复制代码 代码如下:var f = (function() {
function f() {return 10;}
return f();
function f() {return 20;}
var f = 30;
})();
console.log(f);
javascript高级程序设计中这样描述函数--可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。之前介绍过了strict mode,严格模式对函数有一些限制:
① 不能把函数命名为eval或arguments
② 不能把参数命名为eval或arguments
③ 不能出现两个命名参数同名的情况
发生以上情况就会导致语法错误,代码无法执行。
函数定义
函数定义分为三种
1、构造函数
复制代码 代码如下:var fun = new Funciton();
2、普通定义
复制代码 代码如下:function fun() {}
3、函数式定义
复制代码 代码如下:var fun = function() {};
这三种方式都可以定义函数fun。
参数
函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型。即便你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数。原因是参数在内部是用一个数组来表示的。在函数体内可以通过arguments对象来访问参数数组,举个例子
复制代码 代码如下:function sayHi() {
alert("Hello " + arguments[0] + "," + arguments[1]);
}
通过访问arguments对象的length属性来获知有多少个参数。函数的length会返回函数的参数个数。
注意:所有参数传递的都是值,不可能通过引用传递参数。
函数不能重载,只能重写
如果定义了两个名字相同的函数,则该名字只属于最后定义的函数,举个例子:
复制代码 代码如下:
function add(num) {
return num + 100;
}
function add(num) {
return num + 200;
}
var result = add(100) //300
注意:函数在执行完return语句之后停止并立即退出。
函数种类
函数分为两种一种是有名函数,另一种是匿名函数。例如下面的有名函数
复制代码 代码如下:function fun() {
}
如果调用的话,只需要fun()就可以。
匿名函数,顾名思义就是没有函数名。例如
function() {}
函数调用是通过函数名来调用,匿名函数怎么调用呢?一种就是将匿名函数赋给一个变量,让这个变量充当函数名。另一种就是用()来调用,例如下面三种方法
1、(function() {return;}());
2、(function() {return;})();
3、function() {return;}();
例子:
复制代码 代码如下:
(function(x, y) {
"codetitle">复制代码 代码如下:
var f = (function() {
var f = 30;
function f() {return 10;}
function f() {return 20;}
return f();
})();
外面的变量f和里面的变量f不在同一个作用域内(闭包),所以互不影响。因为函数不能重载,所以外面变量f=(function f() {return 20;})();,所以最终输出的是20。
希望本文所述对大家的javascript程序设计有所帮助。
javascript,匿名函数
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 群星《金吾卫之风起金陵 动漫原声带》[FLAC/分轨][98.08MB]
- JessicaMolaskey-SittinginLimbo--2024[wav]
- 中国音乐地图之听见江苏扬州小调扬剧经典唱段2020[WAV分轨]
- 中国音乐地图之听见国乐阮柳琴音乐集2021[WAV+分轨]
- 常石磊.2010-自己【风向乐动】【WAV+CUE】
- TWINS.2008-桐话妍语(引进版)【英皇娱乐】【WAV+CUE】
- 钮大可陈本瑜-山谷与风的对话【飞碟】【WAV+CUE】
- 群星《百听不厌-HIFI金曲王》2CD[DTS-WAV分轨]
- HIFI天碟《发烧情路》2CD\DTS-ES[WAV]
- 群星《品味感性男声》2CD[DTSWAV]
- 群星《观风月》[320K/MP3][133.98MB]
- 群星《观风月》[FLAC/分轨][321.4MB]
- 群星《奔向所有时空的你 影视原声带》[320K/MP3][47.43MB]
- 陶喆.2013-再见你好吗【伟大文化】【WAV+CUE】
- 李宗盛.1994-不舍(纸盒版)【滚石】【WAV+CUE】