почему я получаю неопределенную ошибку при определении этой функции с одинарными кавычками?
пример:
rotator.doStuff = function(num) {
//do stuff
rotator.timer = setTimeout('rotator.doStuff('+num+')',500);
}
Предполагая, что это содержимое IIF.
При использовании строки rotator
будет разрешен в глобальной области действия, и он не будет доступен там, таким образом, ошибка.
Вы должны попробовать это. Теперь rotator
будет разрешен в лексическом масштабе, из которого он доступен.
rotator.timer = setTimeout(rotator.doStuff.bind(rotator, num), 500);
setTimeout(function() { rotator.doStuff(num) },500);
?