Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.12.2015, 21:48
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

Ruslan_xDD,
вот 2 фрагмента, можете объяснить в чём разница будет?
function SomeF() {
  this.name = "";
}
SomeF.prototype.IsNamed = false;


function SomeF() {
  this.name = "";
  this.IsNamed = false;
}
Ответить с цитированием
  #12 (permalink)  
Старый 31.12.2015, 21:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от Keramet
почему тогда в моём примере выдаёт false
потому что не обьект
Ответить с цитированием
  #13 (permalink)  
Старый 01.01.2016, 08:06
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function MyClass() {};
MyClass.prototype.isNamed = false;


var a = new MyClass();
var b = new MyClass();

alert([a.isNamed, b.isNamed]);

MyClass.prototype.isNamed = true;

alert([a.isNamed, b.isNamed]);




function MyClass() {
		this.isNamed = false;
};


var a = new MyClass();
var b = new MyClass();

alert([a.isNamed, b.isNamed]);

MyClass.prototype.isNamed = true;

alert([a.isNamed, b.isNamed]);
Ответить с цитированием
  #14 (permalink)  
Старый 01.01.2016, 17:32
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

Я разобрался!!
Сообщение от Keramet Посмотреть сообщение
Всем привет!
Наследуется ли свойство прототипа всем объектам?
К примеру:

function SomeF() {
  this.name = "";
}
SomeF.prototype.IsNamed = false;
SomeF.prototype.SetName = function(txt) {
   this.name = txt;
   this.IsNamed = true;
}
var a = new SomeF();
alert(a.IsNamed);
a.SetName("AAA");
alert(a.IsNamed);

var b = new SomeF();
alert(b.IsNamed);

Разве не должна строка 15 выдать true?
Для того, чтобы всё работало как надо, строку 07 - this.IsNamed = true; надо заменить на SomeF.prototype.IsNamed = true;
Тогда строка 15 будет выдавать true (что и требовалось). Всем спасибо!

Последний раз редактировалось Keramet, 01.01.2016 в 17:36.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с прототипами demoniqus Общие вопросы Javascript 1 24.10.2014 15:32
работа с прототипами. Ruzarh AJAX и COMET 7 16.08.2013 11:05
помогите разобраться с прототипами Seran4ek Общие вопросы Javascript 5 11.03.2013 17:31
Немогу поставить условие, запутался nemo Серверные языки и технологии 1 30.01.2010 14:18
совсем уже запутался с тонкостями micscr (X)HTML/CSS 3 23.01.2010 17:32