[ Day3 ]
說明:
在昨天我們可以引入js模組在程式中使用
相反的,我們可以將自己的javascrit檔案輸出給其他程式作使用:
一、基本module.exports
function fibonacci(input) {
var first = 0
var second = 1
if(input == 0) {
return first
}
for(var i = 0; i < input-1 ; i++) {
var temp = first + second
first = second
second = temp
}
return second
}
module.exports = fibonacci
這裡我們新增一個cal.js檔案,裡面定義一個方法對參數作費波那契數列計算
在檔案的最後,使用module.exports 將指定方法輸出
在index.js中
import fobo from './cal.js'
console.log(fobo(100))
將我們剛才的fibonacci方法,引入cal.js並宣告成fobo變數,傳入參數就可以得到答案
如果要將模組輸出多個方法
function divivde(a, b) {
return a/b
}
module.exports = {
fibonacci, divivde
}
多個方法以花括號框選,變成整個檔案輸出
並且在引入時
import cal from './cal.js'
console.log(cal.fibonacci(100))
console.log(cal.divivde(19,2))
引入的變數變成需指定方法名稱
二、es6方法的export
而使用es6的寫法,則直接在方法名稱前加上export
表示這個方法須輸出
export function fibonacci(input) {
var first = 0
var second = 1
if(input == 0) {
return first
}
for(var i = 0; i < input-1 ; i++) {
var temp = first + second
first = second
second = temp
}
return second
}
export function divivde(a, b) {
return a/b
}
在index.js中,則直接以花括號方式指定需引入方法名稱
import { fibonacci, divivde } from './cal.js'
console.log(fibonacci(100))
console.log(divivde(19,2))
三、方法輸出、參數輸出
如果需要將模組內的變數輸出,一樣將variable指定到exports中
var descript = 'this is a module variable'
function fibonacci(input) {
var first = 0
var second = 1
if(input == 0) {
return first
}
for(var i = 0; i < input-1 ; i++) {
var temp = first + second
first = second
second = temp
}
return second
}
function divivde(a, b) {
return a/b
}
module.exports = {
descript,
fibonacci,
divivde
}
import cal from './cal.js'
console.log(cal.descript)
console.log(cal.fibonacci(5))
console.log(cal.divivde(19,2))
es6
export var descript = 'this is a module variable'
export function fibonacci(input) {
var first = 0
var second = 1
if(input == 0) {
return first
}
for(var i = 0; i < input-1 ; i++) {
var temp = first + second
first = second
second = temp
}
return second
}
export function divivde(a, b) {
return a/b
}
Day3結束