作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
未捕获类型错误:对象不是函数
我决定将 writeMessage() 函数设为匿名;之前,当同时创建 writeMessage() 函数的另一个实例时,它总是会搞砸,导致文本输出困惑(两条“写入”的消息会放在一起并混合在一起)。
但是,我发现遇到了错误(如上所示)。 变量 object
是一个 jQuery 对象(例如:$('#myDivElement'))。
有什么想法可以解释这是为什么吗?谢谢。
function writeMessage(message,object){
(function(message,object,i){
var self = this;
setTimeout(function(){
if(i < message.length){
object.append(message.substr(i,1));
i++;
self(message,object,i);
}
}, 25);
}(message,object,0));
}
最佳答案
var self = this;
由于您在没有上下文的情况下调用该函数,因此 self
引用了 window
对象。 window
是一个对象(window.toString
应该给出类似 [object Window]
的内容)而不是函数,因此调用 self( message,object,i)
将不起作用。
相反,使用这个:
var self = arguments.callee;
关于javascript - 匿名函数: "object is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20590446/
我是一名优秀的程序员,十分优秀!