Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 24.08.2009, 19:37
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Сообщение от Dmitry A. Soshnikov
};
Ошибка не в этом но вообще-то в конце составной инструкции точку с запятой не ставят
__________________
Лови позитив
Ответить с цитированием
  #42 (permalink)  
Старый 24.08.2009, 20:12
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Все ущли завтро договорим=)
__________________
Лови позитив
Ответить с цитированием
  #43 (permalink)  
Старый 24.08.2009, 20:33
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
У меня твой код вообще не работает
FireBug выдаёт ошибку на 4 строке
this.prototype.getX = funciton () {\n
Опечатался в слове "function", вот так правильно:

function A(x) {
  this.x = x;
  this.getX = function () {
    return this.x;
  };
}

var a = new A(10);
var b = new A(20);

// ну тут понятно
alert(a.hasOwnProperty('x')); // true
alert(b.hasOwnProperty('x')); // true

// а здесь почему, если ты говоришь, что
// метод getX - один на оба объекта
alert(a.hasOwnProperty('getX')); // true
alert(b.hasOwnProperty('getX')); // true


Сообщение от JSprog
и всё...
Т.е. метод нельзя записать в прототип? Почему, что мешает? Не понял этот момент.

Сообщение от JSprog
Ошибка не в этом но вообще-то в конце составной инструкции точку с запятой не ставят
Ошибка была в опечатке слова function. А точка с запятой там нужна

Сообщение от JSprog
Все ущли завтро договорим=)
Ок, может B~Vladi что-нибудь прояснит тогда.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 24.08.2009 в 20:36.
Ответить с цитированием
  #44 (permalink)  
Старый 24.08.2009, 20:35
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Сообщение от Dmitry A. Soshnikov
Ошибка была в опечатке слова function. А точка с запятой там нужна
не нужна
__________________
Лови позитив
Ответить с цитированием
  #45 (permalink)  
Старый 24.08.2009, 20:41
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
не нужна
Нужна-нужна.

// так будет ошибка
var a = function () {} var b = 10;

// а так - правильно
var a = function () {}; var b = 10;

Вообще, точка с запятой нужна обязательно после некоторых инструкций, просто парсер сам вставляет точку с запятой в случае перевода строки. Если же перевода не будет (как в примере выше) - будет ошибка, поэтому точка с запятой там нужна.
__________________
Тонкости ECMAScript
Ответить с цитированием
  #46 (permalink)  
Старый 24.08.2009, 20:43
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Вы в свой код пробовали добавить?
alert(a.getX)
__________________
Лови позитив
Ответить с цитированием
  #47 (permalink)  
Старый 24.08.2009, 20:47
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
Вы в свой код пробовали добавить?
alert(a.getX)
Да, выдаёт, что это функция. Неверно?

А если добавить:

alert(a.getX === b.getX); // false

то явно видно, что это не один и тот же метод. Что-то я запутался. Может, всё-таки, тут надо прототип как-то задействовать, чтобы оба объекта имели один и тот же метод? Ведь, если в прототипе свойство расшаривается одно на всех, то, может, и метод тоже будет? Правда, я так и не понял, почему нельзя в прототип метод положить?
__________________
Тонкости ECMAScript
Ответить с цитированием
  #48 (permalink)  
Старый 24.08.2009, 20:48
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

У меня с использованием
alert(a.getX)
просто выводитса код функции
__________________
Лови позитив
Ответить с цитированием
  #49 (permalink)  
Старый 24.08.2009, 20:49
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

<html>
<body>
 <script language="javascript" type="text/javascript">
function A(x) {
  this.x = x;
}
A.prototype.getX=function(){return 15}
 var a = new A(10);
var b = new A(20);
 // ну тут понятно
alert(a.hasOwnProperty('x')); // true
alert(b.hasOwnProperty('x')); // true
alert(a.isPrototypeOf('x'));//false
// а здесь почему, если ты говоришь, что
// метод getX - один на оба объекта
alert(a.hasOwnProperty('getX')); // false
alert(b.hasOwnProperty('getX')); // false
alert(a.isPrototypeOf('getX'));
alert(a.getX)
</script>
</body>
</html>
__________________
Лови позитив
Ответить с цитированием
  #50 (permalink)  
Старый 24.08.2009, 20:50
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
У меня с использованием
alert(a.getX)
просто выводитса код функции
А это срабатывает метод .toString, который есть у каждого объекта. Его можно перезаписать, но в случае функций, он выдаёт, код. Хотя, это зависит от реализаций.
__________________
Тонкости ECMAScript
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, есть ли такая CMS greatilya Оффтопик 1 01.08.2009 21:05
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
document.XMLDocument - есть ли в FF? IIIEPJIOK Events/DOM/Window 0 26.02.2009 00:19
Одиночки. В чем разница? Snipe Общие вопросы Javascript 49 07.06.2008 15:58
есть ли global в javascript scuter Общие вопросы Javascript 21 11.04.2008 21:48