#4 - The Global Object &Function Expressions

今天来讲讲两个之後会用到的两个小观念: The Global Object &Function Expressions

#The Global Object

当我们写 JavaScript 的时候,The Global Object (下面称全域物件) = window ,我们可以从这个 window 物件里取用属性和方法,像是alert()scroll()setTimeout()等等。

而在 node.js 中,因为我们不在浏览器的关系,全域物件不再是 window 而是 global 。这个 globalwindow 一样,也有许多的属性和方法让我们取用。

#Function Expressions

首先,我们从 Statement (陈述式) 与 Expression (表达式)开始说起。
简单来说,两个的差别在於:
Statement :不会产生值,像是变数宣告、流程控制等等

Expression:会产生一个值,像是逻辑(true or false)、赋值(let a = 100)等等

这篇很赞,讲的超详细!

而对 function 而言,所谓的 Function Statement 会长这样:

function sayHi(){
    console.log('hi')
}

这个sayHi function 并不会产生任何的值,因此他是一个 Statement。

而 Function Expressions 则会这样写:

let sayBye = function(){
    console.log('bye')
}

从上面的程序码我们可以看到,我们很明显的赋值给一个变数 sayBye 了,我们透过 sayBye() 去invoke。
Function Expressions 在 node.js 中十分的常见,但其实也不太难不要被吓到了,我们就想像它就是指後面那团东西就好惹!

另外一个常见於 node.js 中的是 将一个 function 当作参数传入另一个 function 中,像下面这样:

function callFuction(func){
  func()
}

let sayBye = function(){
    console.log('bye')
}

callFuction(sayBye)

今天的学习就到这边,我们明天见罗!


<<:  LeetCode解题 Day04

>>:  [Day3]PHP的资料型态03

Day29 - GitLab CI 如何让工作流程流水线跑快一点?之三 让 Runner 执行更快一点

上一篇谈到从 .gitlab-ci.yml 开始建立关卡及工作,而後依序分派到工作伫列,等待 Git...

Day1 30天学会React,其实一点都不难

Hi! 时光飞逝,又过了一年,我又来自虐了,距离上次绞尽脑汁生出铁人赛文章也有一年多的时间了 废话,...

[Lesson25] Kotlin - Array

基本型态阵列 Kotlin 已经有内建一些阵列物件,如 ByteArray、IntArray、Dou...

Day07:Boardcast Event(推播事件)

全文同步於个人 Docusaurus Blog 当某个使用者输入讯息发送到 server 後,若当...

[Day26]-数据图表的设计

绘制简易折线图 基础 座标刻度设定 多组数据应用 图例 legend() 在图表上标记文字 绘制散...