Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1661 (permalink)  
Старый 14.12.2015, 23:07
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 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.
Ответить с цитированием
  #1662 (permalink)  
Старый 14.12.2015, 23:25
Аспирант
Посмотреть профиль Найти все сообщения от pnpquest
 
Регистрация: 09.11.2015
Сообщений: 94

Сообщение от Ruslan_xDD
Вот как я реализовываю приватные функции и переменные на прототипах:
ты написал обычное замыкание, только через жопу, примерно вот это
(function() {
    var Private = {
        foo: 'bar',
        test: function() {
            return Private.foo + '!!!';
        }
    };
   MyClass = function() {
       fooBar = Private.test()
    };
}()

разницы особой со вторым примером я не вижу, и что ты хотел этим доакзать, непонятно
Ответить с цитированием
  #1663 (permalink)  
Старый 14.12.2015, 23:27
Аспирант
Посмотреть профиль Найти все сообщения от pnpquest
 
Регистрация: 09.11.2015
Сообщений: 94

Сообщение от Ruslan_xDD
на прототипах:
и прототипов никаких в твоем коде нет
Ответить с цитированием
  #1664 (permalink)  
Старый 14.12.2015, 23:30
Аспирант
Посмотреть профиль Найти все сообщения от pnpquest
 
Регистрация: 09.11.2015
Сообщений: 94

Нулевые проснулись, после того как я тут ткнул, в свое время, ынтырпрайзовых мартышек рожей в говнецо, они бояться со мной спорить, молча минусики ставят, у-тю-тю.
Ответить с цитированием
  #1665 (permalink)  
Старый 15.12.2015, 00:11
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 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
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #1666 (permalink)  
Старый 15.12.2015, 00:30
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

pnpquest, видимо ты не понимаешь всю суть. Вся суть в контексте. Private нужен для того, чтобы ненужные методы не попали наружу.

К примеру:

var a = new MyClass();
a.test; //undefined!!!


test должен быть доступен только внутри, причём, с нужным контекстом. Поэтому мы вызываем методы Private через apply/call/bind, иначе там будет другой контекст.

А то что ты написал - чушь, ещё зачем-то переменную в глобал определил.

Складывается впечатление, что ты вообще не понимаешь для чего нужны классы, да и ничего никогда на них не писал. Просто услышал модное слово "прототипы" и говоришь тут во все темы о них, хотя на деле даже не понимаешь что это.
Как говорится, на словах ты Лев Толстой, а на деле - Лев Толстой.
Ответить с цитированием
  #1667 (permalink)  
Старый 15.12.2015, 00:39
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

trikadin, ещё одного отправил в баню.
Ответить с цитированием
  #1668 (permalink)  
Старый 15.12.2015, 12:31
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

И ещё одного. А он не перестаёт удивлять "орининальностью" своих никнеймов.
Ответить с цитированием
  #1669 (permalink)  
Старый 15.12.2015, 15:11
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Кто знает интерфейс Serial ATA для hdd, хуже чем Serial 3, типо Serial ATA это более старый?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #1670 (permalink)  
Старый 15.12.2015, 15:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Я так понял что они все Serial ATA, а цифра - скорострельность
https://ru.wikipedia.org/wiki/SATA
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смишных картинок тред megaupload Оффтопик 3448 03.07.2023 09:47
React'а тред melky Оффтопик 246 13.11.2016 08:07
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Смешных историй тред monolithed Оффтопик 11 04.03.2015 04:20
Смишных видео с намеком тред godofjavascript Оффтопик 4 30.12.2012 23:50