zoukankan      html  css  js  c++  java
  • Javascript 函数表达式

    函数有两种模式:函数定义函数表达式

        函数定义是在任何语言中都会遇见的,这里不再多说了。

        函数表达式: 是作为表达式在代码中出现,当程序运行到此处时,才执行这部分的代码内容。

    函数字面量组成部分:

        第一部分,关键词 function
        第二部分,函数名,但是可有可无。
        第三部分,包含在括号内的参数,当然参数也是可有可无的,括号不能少。
        第四部分,是一组包裹在大括号的语句块,也就是函数要执行的具体代码,可以为空。

    例如

     function () {}

    这个写法符合上面4条规则,但却不是表达式,运行会报语法错误。

    只有当作表达式的时候才能正常执行。

     1. (function () {});
     2. var a = function () {};
     3. var obj = {fn: function () {}};

    再来看个

    var fn = function test() {};

    这个也是函数字面量,test 是这个函数的名字,但是只对函数体内可见,外部是不可调用的

    var fn = function test() { console.log(test); };
    console.log(fn);     // function test() { console.log(test); };
    fn();                // function test() { console.log(test); };
    console.log(test);   // 报 test 未定义

         这里的函数名可用于内部使用,比如递归调用的时候,会很方便。

    为什么不用 arguments.callee 呢。很多地方都可以看到说 arguments 是把双刃剑,是性能杀手,能避免就尽量避免使用。

    加一个函数名,调用方便,性能极致,对项目压缩也有好处,何乐而不为呢?

  • 相关阅读:
    hdu 2082 找单词
    hdu 2079 选课时间(题目已修改,注意读题)
    hdu 2073 无限的路
    hdu 2062 Subset sequence
    poj 2777 Count Color
    hdu 2067 小兔的棋盘
    卡特兰数
    poj3468
    hdu1394
    hdu1166(线段树之单点更新)
  • 原文地址:https://www.cnblogs.com/king516/p/3795972.html
Copyright © 2011-2022 走看看