预编译:函数声明 vs 函数表达式

function 预编译:函数声明 vs 函数表达式

fun1();  //1
fun2();  //Uncaught TypeError: fun2 is not a function

//function声明
function fun1(){console.log(1)};
//function表达式
var fun2=function(){console.log(2)}; 
let fun3=function(){console.log(3)}; 

function表达式虽然提升失败,被说fun2不是一个function不被承认QQ
但并没有破坏规则,规则还是原本那个规则喔~~来,上原因

GO{
	fun1 : function fun1(){......},
	fun2 : undefined
}

没错,因为他电脑看到var fun2=,就觉得他是一个原始值,不是function引用值
殊不知等号右边是一个可爱的function。失算失算

那猜猜 fun3()的执行结果呢?
.
.
.
.
.
.
.
.
.
Uncaught ReferenceError: Cannot access 'fun3' before initialization
因为是let不会提升,不会初始化


<<:  Day 16 Jenkins & Kubernetes

>>:  Day 17 - WooCommerce 测试环境建立 (上)

Layout, Render 与 View Helper

版型(Layout) 局部渲染(Partial Render) View Helper 在上个章节介...

JS Library 学习笔记:嘿!有听过 GSAP 吗? (三)

前两篇介绍了Tween,可以藉此建立出动态效果,但动画不单单是元件本身的动态,以整个专案的视角来看,...

Day 20 CSS & HTML5 <CSS的初始化 & HTML5 新增的语意化标签>

CSS的初始化 简单理解 : CSS初始化是指重设浏览器的样式 (也称 CSS reset) 每个网...

Day3:进入新手村前先让我复习一下QQ-CSS-box-sizing

box-sizing这个语法可以让设计师或是写程序的人不用去加加减减的计算区块 (比如说线条宽度或是...

软件保障成熟度模型(Software Assurance Maturity Model :SAMM)

OWASP的软件保障成熟度模型是一个开放框架,可以帮助组织制定和实施针对组织所面临的特定风险的软件安...