js中函数声明提升理解
2017-05-18 16:04
162 查看
js函数的定义两种方式:函数声明和函数表达式
函数声明
函数调用可以在函数声明之前
这是因为js在代码执行之前会先加载函数声明
函数表达式
以上代码则会报错,提示未声明先调用
理解函数声明提升的关键就是理解函数声明和函数表达式之间的区别
此处是函数声明,test()函数会被提升,而不同的浏览器提升机制不一致,导致有可能只执行第二个test()函数。因此以上例子应该使用函数表达式
函数声明
函数调用可以在函数声明之前
test(); function test(){ alert("this is a test funciton"); }
这是因为js在代码执行之前会先加载函数声明
函数表达式
test(); var test = function(){ alert("this is a test"); }
以上代码则会报错,提示未声明先调用
理解函数声明提升的关键就是理解函数声明和函数表达式之间的区别
if(condition){ funciton test(){ alert("condition is true"); } }else{ function test(){ alert("condition is false"); } }
此处是函数声明,test()函数会被提升,而不同的浏览器提升机制不一致,导致有可能只执行第二个test()函数。因此以上例子应该使用函数表达式
if(condition){ test = funciton(){ alert("condition is true"); } }else{ test = function(){ alert("condition is false"); } }
相关文章推荐
- js变量声明提升,变量作用域与函数作用域,作用域链
- js函数声明语句与函数表达式的区别深入理解
- 深入理解js的变量提升和函数提升
- 深入理解js的变量提升和函数提升
- js中函数声明与函数表达式以及匿名函数的理解
- js中函数声明和函数表达式,立即执行函数理解(笔记)
- Js中有关变量声明和函数声明提升的问题
- JS变量声明提升、函数声明提升
- Js中有关变量声明和函数声明提升的问题
- js代码执行过程,js预编译,变量声明提升,函数体整体提升
- js 函数定义,使用,作用域,变量声明提升,遇解析.....
- 深入理解变量声明提升和函数声明提升
- Js 变量声明提升和函数声明提升
- 深入理解js的变量提升和函数提升
- 深入理解变量声明提升和函数声明提升
- 深入理解变量声明提升和函数声明提升
- Js函数深入理解-函数声明
- js函数声明提升与变量提升
- 变量声明和函数的提升(结合实例自己的理解)
- 深入理解变量声明提升和函数声明提升