JavaScript函数声明在不同浏览器下表现不一致?

foo();


if (true) {

  function foo() {

    console.log(1);

  }

} else {

  function foo() {

    console.log(2)

  }

}

在chrome下是显示typeError,在safari下输出2

ibeautiful
浏览 470回答 1
1回答

米琪卡哇伊

条件语句中声明函数是不合法的 非标准 所以有些浏览器可以var foo;if (true) {  foo = function () {    console.log(1);  }} else {  foo = function () {    console.log(2)  }}foo()可以写成这样
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript