看板 Ajax 關於我們 聯絡資訊
想請問版上各位大神以下的code: function getData(name, callback){ setTimeout(() => { callback({ name: name, age: Math.floor(Math.random()*10)}); }, 2000); } function getMovies(age, callback) { if (age < 12) { setTimeout(() => { callback("cartoon movies"); }, 1500); } else if (age < 18) { setTimeout(() => { callback("teen movies"); },1500); } else { setTimeout(() => { callback("adult movies"); }, 1500); } } 上方function declaration之中的 callback({ name: name, age: Math.floor(Math.random()*10)}); 是什麼樣的表述方法呢? 看起來像 let callback = {name: name, age: Math.floor(Math.random()*10)}; 但沒有let跟=且多了(); 又像是單純的array object,如{name: name, age: Math.floor(Math.random()*10)};但前面卻多了一個callback() 把他包起來? 難道callback放在{name: name, age: Math.floor(Math.random()*10)};前面就只是要與上方的參數對照嗎? 感謝各位大大解惑! ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.76.112.162 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1656213408.A.F46.html
eight0: callback是一個函式 callback()是呼叫函式 06/26 13:52
eight0: callback({...})是在呼叫函式時傳入一個物件 06/26 13:53