Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   OOP в javascript (https://javascript.ru/forum/misc/12564-oop-v-javascript.html)

mycoding 23.10.2010 17:02

В данном примере в this ,будет window,
а если сделать вот так, то функция.
var object = function(){
       this.property = 'property';
       this.method = function(){
           return 'method';
        };

};
 
console.log(object.constructor);


А вообще это называется идиотизм разработчика.
Нафига так делать.
Я обычные вещи типа document.getElementById(); пытался года два понять если не больше.
Вообще уже лет 6 занимаюсь вебом, а до сих пор нуб.
У меня есть знакомый который всего за 3 год кодинга по вебу, такой профи стал, что я
до сих пор не могу его нагнать по его тогдашнему уровню, а сейчас он вообще мега
спец.

B@rmaley.e><e 23.10.2010 18:22

Цитата:

Сообщение от mycoding
Вообще по моему мнению, если бы не Adobe уже давным давно был бы нормальный js и фитчи вроде webgl и css3-8 и html7-10 web 3.0-5.0
А так этот Adobe со свои Flash и Flex тормозит инет в развитии.

лолщито? Какая вообще связь между JS и Adobe? К Вашему сведению, Adobe использовала стандарт ECMAScript 4 для ActionScript 3.

Цитата:

Сообщение от mycoding
Я обычные вещи типа document.getElementById(); пытался года два понять если не больше.

Ищите проблему в себе.

mycoding 23.10.2010 19:07

Цитата:

лолщито? Какая вообще связь между JS и Adobe? К Вашему сведению, Adobe использовала стандарт ECMAScript 4 для ActionScript 3.
Вы меня своим вопросом просто удивляете.
Связь такая, видео,аудио, графика все это до сих пор является большой не разрешимой проблемой без flash.
Если бы не Стив Джобс и google, Adobe ещё бы на несколько лет оттянуло релиз HTML5.
У Adobe то эти все фишки есть, а у простых js-кодеров нет.
Я не знаю как, но то, что Adobe лабирует свои интересы по сдерживанию развития js и новых стандартов это точно.
И меня очень удивило, что Вы это не знаете.

Мне раньше очень не нравился Стив Джопс, он мне и до сих пор не совсем нравится, но то что он воюет с Adobe за развитие новых стандартов, я ему очень благодарен. Мало того, что я за 5-6 лет не стал
супер кодеров в js, php,css,html так ещё и ActionScript изучать и Flex и другие фитчи Эдоб мне совсем не хочется. Я итак летом целый месяц потратил на Flex и результат плохой. Надо времени минимум год, чтобы стать более менее спецом во Flash или FLEX.

monolithed 23.10.2010 19:32

Цитата:

Сообщение от mycoding
Связь такая, видео,аудио, графика все это до сих пор является большой не разрешимой проблемой без flash.

думаю, что ActionScript что JavaScript имеют право на существование, первый потому что не только умеет взаимодействовать с файловой средой, но и приложения просты в разработке, а второй более производительный и привычный для веба.

Но сама технология Flash не может исчезнуть по определению, т.к. все больше и больше появляется вакансий поиска графических дизайнеров со знанием Flash, и им не обязательно даже понимать, что такое ActionScript, чтобы делать сложную анимацию и пр. К тому же Google Analytics использует Flash вопреки тому, что можно заменить на JavaScript.
Плюс на флеше можно можно сделать то что не возможно даже в самых последних редакциях JavaScript (к примеру звуковой и видеоанализ файлов)

Dreamweaver же не умер, им активно пользуются, хотя в блокноте удобней.

Кстати об ООП, в ActionScript все более привычно

mycoding 23.10.2010 19:44

Да да про ООП в ActionScript я знаю)))
Супер штука, нам бы в js такую же.

monolithed 23.10.2010 19:54

В продолжение темы ООП для сравнения в плане наследования:

javascript:
function Person(name){
  this.name = name;
}

Person.prototype.hello = function(){
  alert(this.name);
};
 
var name1 = new Person("name1");
var name2 = new name1.constructor("name2");
 

name1.hello(); //name1
name2.hello(); //name2



ActionScript:
class Person1 {
    public function name():String {
        return true;
    }
}
 
class Person2 extends Person1 {
    private var name1:String = 'name1';
    override public function name():String {
        return name1;
    }
}
 
class Person3 extends Person1 {
    private var name2:String = 'name2';
    override public function name():String {
        return name2;
    }
}


var people1:Person2 = new Person2();
trace(people1.name()); // name1
var people2:Person3 = new Person3();
trace(people2.name()); // name2

mycoding 23.10.2010 20:00

Сейчас читаю книгу https://www.packtpub.com/object-orie...libraries/book
Даже про __proto__ рассказано, просто супер книга.
Сейчас про наследование, через прототипы читаю.

monolithed 23.10.2010 20:14

У меня мнение о этой книге не такое положительное мнение т.к. 90% - это учебный материал основ JS, но ник как не ООП, считаю название вообще неуместным.
В сравнении с PHP. Объекты, шаблоны и методики программирования

B@rmaley.e><e 23.10.2010 20:14

Цитата:

Сообщение от mycoding
Связь такая, видео,аудио, графика все это до сих пор является большой не разрешимой проблемой без flash.

По Вашей логике изобретатели молотка виноваты в том, что тормозят развитие отвертки как инструмента для забивания гвоздей. Если определенный инструмент лучше подходит для выполнения некоторых задач, почему его изобретатели виноваты в том, что юзеры используют именно его, а не другой?

Джобс воюет с Адобом не за счастье простых пользователей (Вы же не думаете, что Вы кому-то нужны?), а за собственное благосостояние.

monolithed 23.10.2010 20:20

Цитата:

Сообщение от B@rmaley.e><e
Джобс воюет с Адобом не за счастье простых пользователей (Вы же не думаете, что Вы кому-то нужны?), а за собственное благосостояние.

Недавно читал статью на хабре, в которой говорится обратное (за качество), но я с этим не могу также согласиться.

Мир спасет гугл.


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