iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
Modern Web

JavaScript 基礎修練系列 第 11

[Day11] JavaScript - Function 函式

  • 分享至 

  • xImage
  •  

前面有提到JS有分為"基本型別"及"物件型別",那Function函式即屬於物件的一種,
以下為四種常見的建立函式方式:

function functDeclaration () {};
var functExpression = function () {};
var namedFunctExpression = function myFunct() {};
var functConstructors = new Function ();

函式宣告 (Function Declaration)

  • 是最常見的用法
  • 函式宣告會被提升(Hoisting)
myName('Hsien');  // I am Hsien

function myName(name){
  console.log('I am '+ name);
}

函式表達式/函數運算式 (Function Expressions)

  • 這種以 var 來宣告的函式,稱為函式表達式或函式運算式
  • 函式表達式不會被提升:  
    嚴格來說是"宣告"會被提升,但是"函式的內容"不會被提升。
console.log(myName);      // undefined (宣告提升)
myName('Hsien');         // myName is not a function ("函式的內容"不會被提升)

var myName = function(name){
  console.log('I am ' + name);
}

函數建構子 (Function Constructors)

  • 透過 new Function 的方式建立函式。(F要大寫)
  • 直接使用 Function 這個關鍵字來建立函數物件,將參數與函數的內容依序傳入 Function。
var add = new Function('number', 'return number + number');
add(6)  //12




資料來源:
https://blog.gtwang.org/programming/defining-javascript-functions/
https://miahsuwork.medium.com/%E7%AC%AC%E5%9B%9B%E9%80%B1-javascript-%E5%87%BD%E5%BC%8F-function-5c6114de5fff


上一篇
[Day10] JavaScript - 傳值 & 傳參考
下一篇
[Day12] JavaScript - 閉包 Closure
系列文
JavaScript 基礎修練30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言