码迷,mamicode.com
首页 > Web开发 > 详细

JS定义函数的两种方式:函数声明和函数表达式

时间:2016-12-01 13:45:50      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:color   asc   运行   div   highlight   它的   var   ons   console   

函数声明

  关于函数声明的方式,它的一个重要的特性就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可以把函数声明放在调用它的语句后面,如下所示:

1             sayHi();
               //在调用语句的后面声明函数(function declaration hoisting)
2             function sayHi () {
3                console.log("Hello World");
4             } 

  

 函数表达式

  有多种表达方式,下面是最常见的一种:

 var s = function (agr1, arg2) {
      console.log(arg1 + ‘  ‘ + arg2);
  } 

按照书中所说,函数声明语句,声明函数实际是声明了一个变量f,然后将一个声明的函数对象赋值给变量f,变量的声明有提至所有代码顶部的特点,故函数声明语句声明的函数可以在声明之前调用。

 

至于为什么同样是将一个函数赋值给一个变量,函数表达式却不能提到前面呢?我们来分析下:

var s = function(arg1, arg2) {};

  

可以拆分为:

var s;
s = function (arg1, arg2) {}

  

其中 var s 被提前声明了,但 s = xxxx 是要在运行到这里的时候才进行。

 

JS定义函数的两种方式:函数声明和函数表达式

标签:color   asc   运行   div   highlight   它的   var   ons   console   

原文地址:http://www.cnblogs.com/yourstars/p/6121262.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!