函数声明、 函数表达式 与立即调用函数表达式的比较

  

  函数声明

  函数声明创建将来代码调用的函数。函数可以在声明之前的位置被调用。代码样例如下:

  

  1. //可以在声明之前的位置被调用
  2. var size=area(3,6);
  3. function area(width,height){
  4. return width*height;
  5. };
  6. //可以在声明之后的位置被调用
  7. var size2=area(2,4);

    函数表达式

      将函数放在本该表达式待的位置,这称为函数表达式。在函数表达式中,经常使用匿名函数。代码样例如下

    var area=function(width,height){
    return width*height;
    };
    //只能在函数表达式定义之后被调用
    var size=area(2,4);
    立即调用函数表达式(IIFE)

    没有名称,在解释器经过它们时执行一次。代码样例如下:

    var area=(function(){
    var width=6;
    var height=8;
    return width*height;
    }());

原文地址:https://www.cnblogs.com/lvfang/p/11016556.html

时间: 2024-11-05 02:29:21

函数声明、 函数表达式 与立即调用函数表达式的比较的相关文章

为什么函数声明后可以不加分号而函数表达式后要加分号呢?

JavaScript:为什么函数声明后可以不加分号而函数表达式后要加分号呢?是就是这个硬性规定的,还是有什么机制原因呢 function functionName(arg0,arg1,arg2){ //函数声明} var functionName=function(arg0,arg1,arg2){ //函数表达式}; //注意分号

函数声明与函数表达式

1.什么是函数声明,函数表达式 函数声明:function 函数名(){} 函数表达式:function 函数名(){}.函数名可写可不写.写出来的,就是命名函数表达式,不写的就是匿名函数表达式 例子: function aaa(){};这就是函数声明 var a=function aaa(){};命名函数表达式 var a=function(){};匿名函数表达式 下面的都是函数表达式 (function aaa(){}) ~function aaa(){} -function aaa(){}

js函数表达式和函数声明的区别

我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function foo() { // <-- 添加这一行 var a = 3; console.log( a ); // 3 } // <-- 以及这一行 foo(); // <-- 以及这一行 console.log( a ); // 2 虽然这种技术可以解决一些问题,但是它并不理想,因为会导致一些额外的

javascript中函数声明和函数表达式的区别

1.js中函数表达式的定义 表达式(expression)JavaScript中的一个短语,javascript会将其计算(evaluate)出一个结果.程序中的常量是一个最简单的表达式.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂表达式是由简单表达式组成. --摘自<javascript权威指南> 一个经典的函数表达式的定义方法: //函数表达式的声明,表达式的值就是这个新定义的函数 var expressFunc = function(){}; 函数名称是函数声明语句必须得部

JS中函数表达式与函数声明的区别

hello,沐晴又来更新啦,今天呢,跟大家讲讲让人头疼的函数表达式和函数声明,反正我当初看那本高级程序的时候,是没怎么看太透,哈哈.我是个比较重基础的人,跟我一起探讨函数表达式和函数声明的世界吧. 首先呢,先看看他们的颜值:   函数声明:function 函数名(){}   函数表达式:function 函数名(可写可不写)(){}; (不写名叫做匿名函数表达式.写名叫做命名函数表达式.推荐用匿名的.) 这么一看长的好像没啥区别,反正颜值也都不高.那么我们如何区别是函数表达式还是函数声明呢?答

JavaScript中的函数声明和函数表达式

JavaScript 中定义函数的方式有两种,一种是函数声明,另一种是函数表达式.这两种定义方式之间有一些细微的差别. 1.函数声明: function 关键字 + 函数名字 + 函数体构成了函数声明,具体形式如下: function functionName(arg0, arg1, arg2) {   // function body } Firefox. Safari. Chrome 和 Opera 都给函数定义了一个非标准的 name 属性,通过这个属性可以访问到给函数指定的名字: ale

javascript中函数声明与函数表达式的区别

javascript中声明函数的方法有两种:函数声明式和函数表达式.究竟他们用起来有什么区别呢? 区别如下: (1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. (2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. (3).以函数声明的方法定义的函数并不是真正的声明,他们仅仅可以出现在全局中或者嵌套在其它函数中. 下面来看具体的例子吧.下面这两种方式有什么区别吗? function boo(){}; var bar

JavaScript函数声明与函数表达式

定义函数的方式有两种:一种是函数声明,另一种是函数表达式. 一.两者的语法 函数声明的语法: function functionName(arg0, arg1, arg2){ //函数体 } 函数表达式的语法: var functionName = function(arg0, arg1, arg2){ //函数体 } 因为function关键字后面没有标识符,这种情况下创建的函数叫做匿名函数(anonymous function,有时也叫拉姆达函数).匿名函数的name属性是空字符串. 二.两

JS函数声明和函数表达式的关系

1.函数声明 1 // 函数声明 2 function funDeclaration(type){ 3 return type==="Declaration"; 4 } 2.函数表达式 // 函数表达式 var funExpression = function(type){ return type==="Expression"; } JS代码在解析时会进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用.而函数表达式的值是在JS运行时确定