[Day11] JavaScript - Function 函式

前面有提到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


<<:  Day4.Cortex-M 系列 基础探讨

>>:  [Day 6] Leetcode 215. Kth Largest Element in an Array (C++)

Day7 JS-Callback

在进入下一个NodeJS部份前想先讲一下Callback(回呼),这个概念不会占太大的篇幅,所以这篇...

Tcl语言和你 SAY HELLO!!

第七天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知道...

CMoney菁英软件工程师战斗营之前端VS後端_Week 9

这周就要发表我们游戏专题了 目前可以说是大致上完成 我们即将分领域授课了 总共四大领域分别为: 前端...

#2 - Button文字换起来! (CSS: 移动位置)

Day 1 介绍了用CSS 伪元素的方式放大缩小变宽去做连结特效。传送门 今天也选了几个button...

RISC-V: R-type 位移指令

今天一样是简单的 SLL、SRL、SRA 指令实作, 再一样为了 Code Stream Logge...