Помощь новичку
Прошу помочь мне. Дело в том, что при ручном дебаге кода все работает нормально, однако, когда я запускаю "AnimationList.Start()" начинаются неполадки:
TypeError: this.Animations is undefined
var AnimationList = {
Animations : new Array(),
Interval : 50,
AnimationNumber : 0,
}
AnimationList.Push = function (pic) {
this.Animations.push (pic);
}
AnimationList.Get = function () {
return this.Animations[this.AnimationNumber];
}
AnimationList.Change = function () {
this.AnimationNumber++;
if (this.AnimationNumber == this.Animations.length)
this.AnimationNumber = 0;
}
AnimationList.SetInterval = function (Interval) {
this.Interval = Interval;
}
AnimationList.Start = function () {
this.Timer = setInterval (this.Change, this.Interval);
}
буду признателен за помощь |
D34DStone, this.Change.bind(this)
|
спасибо, помогло
|
Добрый день. Подскажите и мне. Как поменять функцией переменную вне функции? Заранее благодарен.
var x = 1, x1 = 3;
var some = function(y){
y = 2;
return y
}
some(x);
some(x1);
console.log(x); //должно быть 2
console.log(x1); //аналогично, должно быть 2
|
Простой ответ: никак. Только не примитивные значения(объекты) передаются в функцию по сслыке.
|
Да, но если я присвою внутри функции x1 значение y, то console.log(x1) покажет 2, ведь так? Я правильно понял, что нет способа присваивать значение переменной, которую подставляю в функцию на место "y", непосредственно внутри функции?
var x = 1, x1 = 3;
var some = function(y){
y = 2;
x1 = y;
return y
}
some(x);
some(x1);
console.log(x); //должно быть 2
console.log(x1); //здесь же будет 2?
|
sirius1,
мысли вслух ...
var obj = {x : 1, x1 : 3};
var some = function(y){
obj[y] = 2
}
some('x');
some('x1');
alert(obj.x); //должно быть 2
alert(obj.x1); //аналогично, должно быть 2
|
Я собственно к чему это, читаю книгу, пытаюсь выполнить задание " В качестве упражнения напишите две функции, reverseArray и reverseArrayInPlase. Первая получает массив как аргумент и выдает новый массив - с обратным порядком элементов. Вторая работает как оригинальный метод reverse - она меняет порядок элементов на обратный в том массиве, который ей был передан в качестве аргумента. Не используйте метод reverse."
С первым все более менее понятно, второй написать не получается var arrayValue = [1,2,3,4,5]; reverseArrayInPlase(arrayValue); console.log(arrayValue) //[5,4,3,2,1] |
Массив(как и функция) - не примитивное значение. Он передаётся по ссылке.
|
| Часовой пояс GMT +3, время: 21:52. |