美文网首页
函数声明? 函数表达式

函数声明? 函数表达式

作者: Moment929 | 来源:发表于2023-03-17 22:51 被阅读0次

错题修改

function getValues(flag) {
    if (flag) {
      function getValue() { return 'a'; }
    } else {
      function getValue() { return 'b'; }
    }

    return getValue();
}
   var getvalue=null;
    if (flag) {
      getValue = function(){ return 'a'; }
    } else {
      getValue = function() { return 'b'; }
    }
    return getValue();
}

这道题是考函数声明与函数表达式的区别,原题的写法,是在两个逻辑分支里面各有一个函数声明,但是对于函数声明,解析器会率先读取并且让其在执行任何代码前可用,意思就是别的代码还没运行呢,两个getValue声明已经被读取,所以总是执行最新的那个。函数表达式,当解析器执行到它所在的代码行时,才会真正被解释执行,所以两个逻辑分支可以分别执行

//另外,还有一点需要提醒一下,函数声明在条件语句内虽然可以用,但是没有被标准化,也就是说不同的环境可能有不同的执行结果,所以这样情况下,最好使用函数表达式:

//函数声明:
function 函数名称 (参数:可选){ 函数体 }

函数表达式:
function 函数名称(可选)(参数:可选){ 函数体 }

相关文章

  • 函数

    函数声明和函数表达式有什么区别 函数声明 函数表达式 函数声明和函数表达式的区别: 函数声明必须给定函数名称,函数...

  • web前端-js小记(3)-函数及作用域

    1. 函数声明和函数表达式有什么区别 函数声明 函数表达式 区别:函数声明不用把声明放到函数调用的前面,函数表达式...

  • JavaScript 函数

    函数声明和函数表达式 函数声明和函数表达式都是创建函数的方法; 函数声明会触发函数提升,而函数表达式不会;前置不前...

  • 函数与作用域

    函数声明和函数表达式有什么区别 函数声明 函数表达式 区别 函数表达式结束后需要加;表示声明变量结束。 函数表达式...

  • 函数

    一、函数声明和函数表达式有什么区别 函数声明: 函数表达式: 区别:在于函数声明前置的不同,函数声明是整个函数前置...

  • 任务17-函数和作用域

    1.函数声明和函数表达式有什么区别 (*) 函数声明 函数表达式 函数声明:函数调用可以发生在函数声明之前,例如下...

  • 任务17

    问答 1.函数声明和函数表达式有什么区别? 函数声明: 函数表达式: 函数声明:函数调用可以发生在函数声明之前,例...

  • 函数与作用域

    函数声明和函数表达式有什么区别 函数声明function声明一个函数 函数表达式函数表达式不是以function开...

  • 进阶3

    函数声明和函数表达式 函数声明:function functionName(){}  函数表达式:var fn =...

  • 函数与作用域

    函数声明和函数表达式有什么区别 函数声明使用function关键字声明一个函数 函数表达式 使用函数表达式来声明函...

网友评论

      本文标题:函数声明? 函数表达式

      本文链接:https://www.haomeiwen.com/subject/ktrcxqtx.html