跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

JavaScript函数声明与变量声明之间的区别分析

本篇文章给大家带来的内容是关于 javascript 函数声明与变量声明之间的区别分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 今天,又由一到题目引发了一场我跟JS基础的较量:首先是
var getName = function(){alert(1)}; function getName(){alert(2)}; getName();// 1
or
function getName(){alert(2)}; var getName = function(){alert(1)}; getName();// 1
为什么我调换声明顺序,结果还是输出以
var
形式声明的函数的值? 有人回答我说 "啊,变量提升呀...", 我最开始的理解 ,就算变量提升,第一种情况提升之后,应该是这样啊:
var getName; getName = function(){alert(1)}; function getName(){alert(2)};
最后应该输出 2 才对啊(很理直气壮)。 殊不知 不只有
var
声明才会提前,以
function fn(){}
这种形式声明的函数,会被提升到作用域的 最最 顶部,然后再是变量的提升。 具体请看下面例子: 立即学习 “ Java免费学习笔记(深入) ”;
fn();//Uncaught TypeError: fn is not a function var fn = function(){console.log(1)};
but 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载
fn();//2 var fn = function(){console.log(1)}; function fn(){console.log(2)}
足以说明函数提升的更凶一些。 相关推荐: javascript变量声明实例分析_javascript技巧 JavaScript全局变量声明和优缺点介绍

相关文章