作者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://webptt.com/cn.aspx?n=bbs/Ajax/M.1656213408.A.F46.html
1F:推 eight0: callback是一个函式 callback()是呼叫函式 06/26 13:52
2F:→ eight0: callback({...})是在呼叫函式时传入一个物件 06/26 13:53