Pak*_*ung -1 javascript settimeout
我的脚本使用setTimeout函数时出错
例如,我的脚本就像
function student() {
var obj = {
name: "Mary",
number: +44 26281001
}
return obj
}
Run Code Online (Sandbox Code Playgroud)
我想延迟执行该函数4秒钟,然后保存到变量x.我写了以下函数:
var x = setTimeout(student(), 4000);
Run Code Online (Sandbox Code Playgroud)
它返回一个数字1280,然后4秒后返回错误:
Uncaught SyntaxError:意外的标识符
什么是错误,我该如何解决?非常感谢您的帮助.
你的电话号码应该是这样的
number: '+44 26281001'
// or
number: "+44 26281001"
Run Code Online (Sandbox Code Playgroud)
这样number就成了一个字符串.并将函数本身作为参数传递,而不是调用它并将结果student()作为参数传递.
var x = setTimeout(student, 4000);
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你想分配/记录学生对象,那么你需要像这样调用它:
setTimeout(()=>console.log(student()), 4000);
Run Code Online (Sandbox Code Playgroud)
编辑
function student() {
return {
name: 'Mary',
number: '+44 26281001'
}
}
var studentVar;
var x = setTimeout(function() {
studentVar = student();
}, 4000);
console.log(x);
console.log(studentVar); // Logs 'undefined'
(function logXAfter5Seconds() {
setTimeout(() => {
console.log(x);
console.log(studentVar); // Logs the student object after 5 seconds
}, 5000);
})();Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |