Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите, правилен ли код (https://javascript.ru/forum/misc/31874-podskazhite-pravilen-li-kod.html)

assd18 24.09.2012 11:03

Подскажите, правилен ли код
 
Здравствуйте. Подскажите или правильно реализовано. Все работает, но интересно или правльно с точки зрения синтаксиса и всего остального)))
Заранее спасибо)
var Data = function(type, opts){
			this.type = type;
			this.opts = opts;
		}
		
		var UserData = function(email, pass){
			this.email = email;
			this.pass = pass;
		}
		
		var userDataReq = new Data('reg', new UserData($("#regEmail").val(), $("#pass").val()));
		
		var jsonText = JSON.stringify(userDataReq);
		alert(jsonText);

vashurin 24.09.2012 12:13

Цитата:

Сообщение от assd18 (Сообщение 206173)
Здравствуйте. Подскажите или правильно реализовано. Все работает, но интересно или правльно с точки зрения синтаксиса и всего остального)))
Заранее спасибо)
var Data = function(type, opts){
			this.type = type;
			this.opts = opts;
		}
		
		var UserData = function(email, pass){
			this.email = email;
			this.pass = pass;
		}
		
		var userDataReq = new Data('reg', new UserData($("#regEmail").val(), $("#pass").val()));
		
		var jsonText = JSON.stringify(userDataReq);
		alert(jsonText);

В заголовке темы у вас "наследование". А тут наследования нету, у вас два класса и объект на основе одного из классов. :)
Если б один класс, что то делал, а второй класс наследовал его и как то изменял или дополнял, то это было б наследование, собственно в Википедии есть пример наследования классов на JS: http://ru.wikipedia.org/wiki/%CD%E0%...E0%ED%E8%E5%29

assd18 24.09.2012 17:28

А если так:
var Data = function(type, opts){
			this.type = type;
			this.opts = opts;
		}
		
		var UserData = function(email, pass){
			this.email = email;
			this.pass = pass;
		}

		
		var ReqReg = function (){
			this.type = 'reg';
			this.opts = new UserData($("#regEmail").val(), $("#pass").val());
		
		}
		
		ReqReg.prototype = new Data();
		
		reqType = new ReqReg();

		var jsonText = JSON.stringify(reqType);
		alert(jsonText);

assd18 25.09.2012 10:12

Если так напсиать - это правильно?

Nubi 25.09.2012 11:11

assd18,
По-моему, это неправильно
ReqReg.prototype = new Data();

Конструктор вызывается без параметров, свойства объекта в прототипе будут undefined.

trikadin 25.09.2012 13:35

Заголовок темы изменён на "Подскажите, правилен ли код".

melky 25.09.2012 16:35

Цитата:

Сообщение от assd18
Подскажите или правильно реализовано.

я выбираю торт.

Цитата:

Сообщение от assd18
правльно с точки зрения синтаксиса и всего остального)

зачем использовать :
Цитата:

Сообщение от assd18
JSON.stringify(reqType);

если под рукой есть :
Цитата:

Сообщение от assd18
$("#regEmail").val()

(jQuery) ?


Часовой пояс GMT +3, время: 11:23.