Front-End JavaScript

JS 函式內仍可以執行函式

在JAVASCRIPT 函式裡面,我們時常會安插其他函示的屬性資訊,所以今天來探討一下這個有趣的議題。

這次我們會在函式內部呼叫其他不同型別內容的函式,以及探討函式內的參數呼叫順序!

還記得火影忍者裡的配恩六道,一口氣轟掉木葉村?

當時的鳴人知道自己匯集仙術能量的掌握度不成熟,便用了作弊的方法…

把影分身藏在妙木山,3個影分身專注於匯集仙術能量,一旦真實的自己在戰場上沒有了查克拉或式仙術能量…

就是直接呼叫! 可讓自己隨時瞬間充滿能量!

然而… 我們等下說的函式內執行函式也與這個招大同小異!

範例程式

let varA =1;
console.log(varA);

function peparationOfWork(){
console.log('得知需求');
console.log('寫下項目並分析');

};

function DoingWork(){
console.log('準備好工具');
console.log('電腦既定的檔案與程式');
console.log('電錶量測');
}


function DoubleCheckYourWork() {
    console.log('階段性檢點');
    console.log('階段式物理性測試');

  }

將peparationOfWork() 裡面安插函式DoingWork()

let varA =1;
console.log(varA);

function peparationOfWork(){
console.log('得知需求');
DoingWork();
console.log('寫下項目並分析');

};

function DoingWork(){
console.log('準備好工具');
console.log('電腦既定的檔案與程式');
console.log('電錶量測');
}


function DoubleCheckYourWork() {
    console.log('階段性檢點');
    console.log('階段式物理性測試');

  }

  console.log(peparationOfWork());

peparationOfWork() 確實在執行了DoingWork()!


換做把DoubleCheckYourWork() 換到最前面執行

let varA =1;
console.log(varA);

function peparationOfWork(){
console.log('得知需求');
DoingWork();
console.log('寫下項目並分析');

};

function DoingWork(){
console.log('準備好工具');
console.log('電腦既定的檔案與程式');
console.log('電錶量測');
}


function DoubleCheckYourWork() {
    console.log('階段性檢點');
    console.log('階段式物理性測試');

  }
  DoubleCheckYourWork();
  console.log(peparationOfWork());

呼叫Function 順序以及參數有差?

有!

先來測試一下 呼叫函式(para1,para2) 的陳述式。

OrderBy()只給para1

function OrderBy(num1,num2) { 
    console.log(num1,num2);
}

OrderBy(2);

OrderBy(3);

OrderBy()給para1,para2

function OrderBy(num1,num2) { 
    console.log(num1);
    console.log(num2);
}

OrderBy(1,2);

OrderBy(3,4);

觀察最後給他們執行的順序,你給他們甚麼他們就式按步就班做給你。


結論

函式呼叫方式… 其實跟其他框架的 “插斷執行” 很類似但…不能說相同!

我們一般提到的 “插斷執行” 是在不同運作模式下的權限之分,這一個很嚴謹的規定。

同樣都在於… 事先宣告好內部資料型別以及演算法,再來後面執行時編排順序。

lioajimzen

Share
Published by
lioajimzen

Recent Posts

Vue – 運行ES Module,import與export

import 與 export 在Node.js 有提到其用法: Node.js require、module以及exports 模組設定 - Hugo Habor 每一個Javascript檔案可當作獨立模組系統(ES Module) 1. Module(模組)…

12 months ago

當你的Windows應用程式完全無法執行時,該怎麼辦?

作者今天遇到一個很奇怪的問題 寫程式寫到一半... 點擊應用程式時... 怎麼都跳不出畫面... 後來查詢了一下是Reg註冊可能被微軟更新給搞掉了... 文章資訊來源: 【以解決】各位.exe檔案打不開,不要相信"在 Windows 7 或 Windows Vista 中無法打開 .EXE 檔案"這篇文章…

2 years ago

Python environments in VS Code-建立虛擬環境

Python environments in VS CodePython-建立虛擬環境

2 years ago

Node.js 核心模組-create-server

Node.js可以提供你很多模組,今天來探索如何使用 Node.js 的 http 模組來架設一個簡單的伺服器。 本篇使用模組require 載入你所需要的模組。這次我們使用'http' 模組來創造一個簡單的server。 資料參考 Node.js - createServer 起手式 - iT…

2 years ago

Node.js require、module以及exports 模組設定

針對Node.js來談談 require、module以及exports 模組設定。這些概念允許開發者將大型程序分解成小的、可管理的、可重用的部分,稱為模塊。 下面將逐一介紹這些概念,以及它們如何與 JavaScript 關聯。 An Essential Guide to Node.js Modules (javascripttutorial.net) 1. Module(模組)…

2 years ago

JSON與foreach的逐一條列應用。

像是很多專案必須讀取國家資料中心的metadata,許多檔案格式為CSV、JSON、Html可以利用網頁技術去爬蟲;拿一個範例來嘗試看看就知道這些語法的實際用途。 [主題週]專題報導-開放資料 (Open Data)相關議題與應用 (114230) - Cool3c 在這裡我們使用台北市資料大平台 UBike2.0 作為資料依據! 目的 來抓取空位數量 >15, 抓取空位數量 <15。…

2 years ago