javascript函数定义表达式和函数声明的区别
来源:互联网 发布:百度知道与知乎 编辑:程序博客网 时间:2024/04/25 00:22
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示:
var test = function(x){ return x; }
function test(x){ return x; }
尽管函数定义表达式和函数声明语句包含相同的函数名,并且都创建了新的函数对象,但是这二者却有区别。
函数声明语句中的函数名是一个变量名,变量指向函数对象。
函数定义表达式和通过var声明变量一样,其函数被提前到了脚本或函数的顶部,因此它在整个脚本和或函数内都是可见的。这样的话,只有函数变量声明提前了,函数的初始化代码仍然在原来的位置。但是使用函数声明的话,函数名称和函数体均提前了,即脚本中的函数和函数中嵌套的函数都会在当前上下文中其它代码之前声明,也即可以在声明一个函数之前调用它。
举个例子:
test(1); function test(x){ console.log(x); }
上述代码能正常执行,结果输出为1;因为对于函数声明语句,函数名称和函数体均提前声明了,可以在声明之前调用它。
test(1); var test = function(x){ console.log(x); }
上述代码不能正常执行,会报错。
因为对于函数定义表达式,只有函数变量声明提前了,但是函数的初始化代码仍然在原来的位置,也即相当于如下的代码
var test; //函数变量声明提前 test(1); var test = function(x){ console.log(x); }
因此,会报错test不是一个函数的错误。
0 0
- javascript函数定义表达式和函数声明的区别
- javascript中函数声明和函数表达式的区别
- javascript函数声明和函数表达式的区别
- 详解Javascript 函数声明和函数表达式的区别
- Javascript 函数声明和函数表达式的区别
- 详解Javascript 函数声明和函数表达式的区别
- 详解Javascript 函数声明和函数表达式的区别
- javascript 用函数语句和表达式定义函数的区别
- javascript 用函数语句和表达式定义函数的区别 .
- javascript 用函数语句和表达式定义函数的区别
- javascript 用函数语句和表达式定义函数的区别
- JavaScript的函数声明和函数表达式
- 函数声明和函数表达式的区别
- 函数声明和函数表达式的区别
- 函数声明和函数表达式的区别
- 函数声明和函数表达式的区别
- [ javascript ] javascript 函数声明与函数表达式的区别
- JavaScript中函数的声明和表达式
- 基于Linux epoll模型的Simple
- 最短路~spfa模板
- 我眼中的meta标签和viewport
- Miller-Rabin质数测试
- scrollview在Fragment的运用,bar滑动到顶部静止
- javascript函数定义表达式和函数声明的区别
- beego api生成
- xshell远程登陆CentOS时中文乱码解决
- 访问谷歌-修改hosts文件
- JS的常用正则表达式 验证密码用户名等JS正则
- 发送DES-base64编码的HTTP Post请求,并base64-DES解码返回消息
- PathClassLoader和DexClassLoader
- 04.4#dplyr包基础函数(一)高效数据清理
- 【27】Remove Element