関数リロードの作成[javascript]

9283 ワード

JavaScript環境でoverloadという関数のパラメータが1つまたは2つの状況を処理できるように、javaまたはc#のようなコードを作成して実行します.以下に示します.
function overload(a) {
	console.log(a)
}
function overload(a,b) {
	console.log(a,b)
}
overload(1)
overload(1,2)
一番下を基準に運転するだけです.

デフォルトでは、JavaScriptにはオーバーロード機能はありません.
しかし、やはり自分の方法があります.
分割処理さえすればいい!ははは
function overload(a,b) {
  if(b)	console.log(a,b)
  else {
    console.log(a)
  }
}
overload(1)
overload(1,2)
パラメータにコールバックがある場合はtypeof確認機能のみでよい.
function callback() {
 console.log("callback!")
}
function overload(a,b) {
  if(b)	console.log(a,b)
  else if (typeof a === 'function') {
  	a()
  }
  else {
    console.log(a)
  }
}
overload(1)
overload(1,2)
overload(callback)
コールバック関数の練習でprintLamen関数を再ロードする例.
const chain1 = (lamen) => {
  printLamen('너구리라면', chain2)
}
const chain2 = (lamen) => {
  printLamen('진라면', chain3)
}
const chain3 = (lamen) => {
  printLamen('신라면', chain4)
}
const chain4 = (lamen) => {
  printLamen('삼양라면')
}

const printLamen = (lamen, cb) => {
  console.log(lamen)
  if(typeof cb === 'function') setTimeout(cb, timeout)
}

chain1(firstlamen)