14.12.2015, 23:07
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
pnpquest, на классах писать гораздо удобнее, чем на прототипах. Там и наследование нормальное, приватные данные, super и многое другое. Да и возможностей больше. Это конечно всё на прототипах тоже можно, но жутко неудобно.
В общем, когда модули/плагины писать будешь - поймёшь.
Вот как я реализовываю приватные функции и переменные на прототипах:
!function(window) {
var Private = {
foo: 'bar',
test: function() {
return Private.foo + '!!!';
}
};
window.MyClass = function() {
this.fooBar = Private.test.call(this);
};
}(window);
И как это можно написать на классах:
Class MyClass {
private var foo:String = 'bar';
private function test():void {
return this.foo;
}
public function MyClass() {
this.fooBar = this.test();
}
}
P.S.: синтаксис классов на JS точно не знаю какой, так как не писал ещё, поэтому пример из AS3.
Последний раз редактировалось ruslan_mart, 14.12.2015 в 23:16.
|
|
14.12.2015, 23:25
|
Аспирант
|
|
Регистрация: 09.11.2015
Сообщений: 94
|
|
Сообщение от Ruslan_xDD
|
Вот как я реализовываю приватные функции и переменные на прототипах:
|
ты написал обычное замыкание, только через жопу, примерно вот это
(function() {
var Private = {
foo: 'bar',
test: function() {
return Private.foo + '!!!';
}
};
MyClass = function() {
fooBar = Private.test()
};
}()
разницы особой со вторым примером я не вижу, и что ты хотел этим доакзать, непонятно
|
|
14.12.2015, 23:27
|
Аспирант
|
|
Регистрация: 09.11.2015
Сообщений: 94
|
|
Сообщение от Ruslan_xDD
|
на прототипах:
|
и прототипов никаких в твоем коде нет
|
|
14.12.2015, 23:30
|
Аспирант
|
|
Регистрация: 09.11.2015
Сообщений: 94
|
|
Нулевые проснулись, после того как я тут ткнул, в свое время, ынтырпрайзовых мартышек рожей в говнецо, они бояться со мной спорить, молча минусики ставят, у-тю-тю.
|
|
15.12.2015, 00:11
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Пользователь pnpquest забанен, за то что он foo
Народ, который тут сидит. Есть у нас на форуме такой товарищ под кодовым именем "foo". Этот товарищ отличается низким уровнем знания JS, неоправданно высоким ЧСВ и при этом абсолютной неспособностью к адекватному общению, проще говоря -- неадекват. Как следствие, он является персоной нон грата на форуме. Однако, в силу своей неадекватности, он регулярно пытается сюда зачем-то влезть, каждый раз ведя себя неадекватно, за что и бывает регулярно забанен. Проблема в том, что модераторов на все темы не хватает, и иногда лаг между его появлением и неизбежным баном бывает достаточно большим. Поэтому, я прошу вас сообщать о появлении неадекватных персонажей вот в эту тему с припиской "неадекват", особенно если ник персонажа похож на что-то из этого списка (это все ники foo за всё время).
- bom-bom
- dkstra
- drDocument
- foo
- forwardonly2015
- freee
- fuckJS
- fuckYankee
- fuckjava
- govnocoder
- indeterm
- jackdempsey2015
- javaQest
- kotlov-net
- krutoy
- losos100
- nanaets
- nbq
- newKingOfTheBlock
- newobject
- newtimebigtime
- newuser1001
- nondeterminism
- nosuchfile
- nuboquest
- pb_
- petya
- pidorg-from-air
- pnpquest
- pornoborets
- registrant
- sogoodweather
- sortarray
- terminator-101
- theKingOfJava
- tysonfury2015
- vkontaktikapi
|
|
15.12.2015, 00:30
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
pnpquest, видимо ты не понимаешь всю суть. Вся суть в контексте. Private нужен для того, чтобы ненужные методы не попали наружу.
К примеру:
var a = new MyClass();
a.test; //undefined!!!
test должен быть доступен только внутри, причём, с нужным контекстом. Поэтому мы вызываем методы Private через apply/call/bind, иначе там будет другой контекст.
А то что ты написал - чушь, ещё зачем-то переменную в глобал определил.
Складывается впечатление, что ты вообще не понимаешь для чего нужны классы, да и ничего никогда на них не писал. Просто услышал модное слово "прототипы" и говоришь тут во все темы о них, хотя на деле даже не понимаешь что это.
Как говорится, на словах ты Лев Толстой, а на деле - Лев Толстой.
|
|
15.12.2015, 00:39
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
trikadin, ещё одного отправил в баню.
|
|
15.12.2015, 12:31
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
И ещё одного. А он не перестаёт удивлять "орининальностью" своих никнеймов.
|
|
15.12.2015, 15:11
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Кто знает интерфейс Serial ATA для hdd, хуже чем Serial 3, типо Serial ATA это более старый?
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
|
|