跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • js 的变量提升方面的问题求解
未分類
24 9 月 2020

js 的变量提升方面的问题求解

js 的变量提升方面的问题求解

資深大佬 : rodrick 0

  if (true) {     function a() {}     a=1     console.log('in',a);// in 1   }   console.log('out',a);// out f a(){} 
  if (true) {     a=1     function a() {}     console.log('in',a);// in 1   }   console.log('out',a);// out 1 

我的理解上 function a() {}都应该提升到最上面,然后再执行 a=1,但是为什么两次的 out 的结果会不一样,第一次的 out 的 a 是什么时候被赋值为 f a(){}的,第二次的 out 又是什么时候被赋值为 1 的,和 if{}块有什么关系么

大佬有話說 (3)

  • 資深大佬 : 9tao

    这种写法是错误的。ES5 的规范,不得在非函数的代码块中声明函数,严格模式下会直接抛出错误,非严格模式下不同浏览器表现可能都不一样。

  • 主 資深大佬 : rodrick

    @9tao 原来是错的啊

  • 資深大佬 : 9tao

    @rodrick 历史问题,这种场景下,可以使用函数表达式

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具