zoukankan      html  css  js  c++  java
  • javascript 中的函数声明和函数表达式区别

    函数声明格式:

    1 function add(a, b) {
    2             alert(a+b);
    3         }

    函数表达式格式:

    1 var add = function (a, b) {
    2             alert(a+b);
    3         }

    解析器在向环境中加载数据时,对函数表达式和函数声明就像一个男人对原配和对小三.当然是先满足原配,在去照顾小三.解析器会通过"函数声明提升过程",读取并将函数声明添加到执行环境中.

    所以声明函数的代码在调用他的代码的后面,也能正常执行.但是函数表达式就没有这个待遇了.当一个男人先满足小三,再去满足自己的老婆,肯定是要出问题的啦

    1  //可以正确执行
    2         add(1, 3);
    3         function add(a, b) {
    4             alert(a+b);
    5         }
    1  //不可以正确执行,报错: add is not a function;
    2         add(1, 3);
    3         var add = function (a, b) {
    4             alert(a+b);
    5         }

     函数声明在火狐,苹果,谷歌和欧鹏下还有一个非标准的name属性,通过这个属性可以访问到给函数指定的名字.

    1 function add() { }
    2 alert(add.name);//add
  • 相关阅读:
    JS——jquery UI
    js——正则表达式
    jsonp——使用公共接口获取数据
    JS——json、ajax、jsonp
    [HNOI2011]括号修复 / [JSOI2011]括号序列
    [HNOI 2016] 树
    luogu_P3313 [SDOI2014]旅行
    无旋Treap模板
    [CF 718C] Sasha and Array
    [洛谷 P4556] 雨天的尾巴
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/3584052.html
Copyright © 2011-2022 走看看