iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

豆芽班日記系列 第 12

Day 12 函式陳述式&函式表達式

  • 分享至 

  • xImage
  •  

技術筆記

本來要接著寫深拷貝跟淺拷貝,但力有未逮,找了幾篇文章,對於實踐深拷貝的方法,都是一知半解,還是不要冒險好了,所以先來聊聊函式吧!

JavaScript兩大語句

  • 陳述式(Statement)
    • 像是聲明或是對邏輯的描寫,一定會做一些事,但不會回傳結果
    • 例如:變數宣告,JavaScript在創造階段會幫你留一個記憶體空間,並把記憶體名稱跟記憶體空間做連結
    • 常見的陳述式
      • 變數宣告
      • 函式宣告
      • 流程控制(if/switch判斷式)
      • 迴圈(for/while)
  • 表達式(Expression)
    • 執行後會回傳結果的程式碼
    • 常見的表達式
      • 純值:這個超特別,如果不是看到別人的文章說明,我永遠不會覺得純值是表達式。舉例:如果在Devtool上寫5按enter,會回傳5
      • 變數指派
      • 運算子
      • 函式呼叫
      • 正規表達式
      • 函式表達式
      • ...

函式陳述式與函式表達式

  • 函式陳述式
    • 就是函式宣告
    • 也稱作具名函式
    • 複習一下前幾天提升的內容,跟變數宣告一樣,JavaScript會保留記憶體空間,差別只在函式會連內容都存入記憶體空間,所以可以在宣告前使用
    statement()
    
    function statement(){
     //執行函式
    }
    
  • 函式表達式
    • 直接把一個函式指派給另一個變數
    • 匿名函式只能用在函式表達式
    • 這樣的方法如同變數宣告,在創造階段只有變數存入記憶體空間,執行階段才會把內容指派給變數,所以無法在宣告前使用
    expression() //expression is not a function
    
    var expression = function(){
    //執行函式
    }
    

心得

陳述式與表達式雖然很基本,有時卻不好辨別,因為有時表達式會包在陳述式中,或者很多表達式寫在一起的情況,菜鳥本人我目前也是看過留個印象,還沒有太多的體會。

參考資料

童言童語

努力看完天書後,來點輕鬆的吧!分享我兒子的童言童語,調劑身心一下

5歲樂咖+2歲嗨啾 = 我的神奇寶貝 皮咖啾

2022/05/08
今天中午⋯
咖:媽咪,我餓了,我想吃餅乾!
我:你才剛吃完午餐怎麼可能肚子餓了!
咖:我嘴巴餓啊!


上一篇
Day11 變數指派
下一篇
Day13 立即執行函式 IIFE
系列文
豆芽班日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言