zoukankan      html  css  js  c++  java
  • javascript中函数声明和函数表达式的区别 分类: JavaScript 2015-05-07 21:41 897人阅读 评论(0) 收藏

    1.js中函数表达式的定义

    表达式(expression)JavaScript中的一个短语,javascript会将其计算(evaluate)出一个结果。程序中的常量是一个最简单的表达式。变量名也是一种简单的表达式,它的值就是赋值给变量的值。复杂表达式是由简单表达式组成。
    ——摘自《javascript权威指南》

    一个经典的函数表达式的定义方法:

    //函数表达式的声明,表达式的值就是这个新定义的函数
    var expressFunc = function(){};

    函数名称是函数声明语句必须得部分。它的用途就像变量的名字,新定义的函数对象会赋值给这个变量。对函数定义表达式来说,这个名字是可选的:如果存在,改名字只存在函数体中,并指代该函数对象本身。
    注意:
    以表达式来定义函数只适用于它作为一个大的表达式的一部分,比如在赋值和调用过程中定义函数。

    //函数表达式的声明,表达式的值就是这个新定义的函数
    var expressFunc = function(){};
    
    //函数声明
    function abc(){
    
    }
    //传入参数的函数声明
    function abc2(test){
    
    }
    
    //函数表达式出入参数
    var expressTest = function(test){};
    
    //函数表达式可以包含名称,这里实际是将结果函数的结果赋值给expressTest
    var expressTest = function evalu(test) {
        if (test) {
            return 2;
        }
        else{
            return -1;
        }
    };
    //console.log(evalu());   //错误的调用方式
    console.log(expressTest());
    //函数表达式作为参数传给其它函数
    data.sort(function(a, b){return a-b;})

    以函数表达式的方式来定义函数,函数的名称是可选的。如果定义了函数名称,这时函数名称会变成函数内部的一个局部变量(非常适合用于递归)。函数定义表达式特别适合用来定义只会用到一次的函数。

    这里写图片描述

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    vue与后台交互之post用法
    django框架两个使用模板实例
    917,仅仅反转字母(简单)
    836,矩形重叠 (简单)
    860,柠檬水找零(简单)
    使用类创建对象后找不到的问题
    8_19 数据库
    8_16 MySQL数据库一
    Mysql的安装与配置
    文件操作中,使用递归退出不了。
  • 原文地址:https://www.cnblogs.com/yisuowushinian/p/4715603.html
Copyright © 2011-2022 走看看