Почему это не нормально?Почему это говорит, что xxx не является функцией
aContract = function(){};
aContract.prototype = {
someFunction: function() {
alert('yo');
},
someOtherFunction: some$Other$Function
};
var some$Other$Function = function() {
alert('Yo yo yo');
};
var c = new aContract();
c.someFunction();
c.someOtherFunction();
Firebug говорит c.someOtherFunction не является функцией
Но это работает просто отлично
aContract = function(){};
aContract.prototype = {
someFunction: function() {
alert('yo');
},
someOtherFunction: some$Other$Function
};
function some$Other$Function() {
alert('Yo yo yo');
};
var c = new aContract();
c.someFunction();
c.someOtherFunction();
Что я здесь отсутствует ??? Я предпочитаю код в javascript, используя первый метод, который обычно работает нормально, но, похоже, не работает правильно, когда я прототип.
Спасибо, ~ ск в Sandy Eggo
Это не так. Вызов blah() отображает «undefined»: function blah() { alert (x); var x = 5; } –
Это не совсем то, что происходит. например. (function() {var a = x + 1; var x = 2; return a;})() возвращает NaN. Вы можете подумать больше (функция() {var a = function() {return x + 1}, var x = 2; return a()})() , которая возвращает 3. – BaroqueBobcat