作者d13751200344 (三更燈火五更雞)
看板Ajax
標題[問題] 關於某表述方法問題
時間Sun Jun 26 11:16:44 2022
想請問版上各位大神以下的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