Этого треда уже нет.
Это копия, сохраненная 9 ноября 2014 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
Официальный JavaScript тред #2 #385174 В конец треда | Веб
Официальный JavaScript тред #2

Ньюфагам:
1. Что это за язык такой? - Объектно ориентированный язык, наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
2. Ааа, так это хуйня чтоб типа текст покрасить при клике, или попап вызвать? - Это только малая часть того, что может язык. Сейчас, на JS можно делать игры, с 3д(three.js) графикой или 2д(phaser.js), можно делать игры и приложения для телефонов(phonegap, etc), можно делать десктоп приложения(node-webkit)
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодоря платформе node.js, и v8, который встроен во все хромоподобное.
4. Я щас ниче не понял, повтори. - Проще говоря, если ты не делаешь огромный интернет магазин, или хай лоад проект, то забудь о пхп или руби, используй javascript и node.js (базы данных прилогаются, mongoDB и sql-и тоже)
5. А че еще прикольного можно сделать - А еще есть MVC фреймворки, angular, backbone, ember, knockout и многое другое.
6. Нах оно надо? - Для создания web application, логики на клиент-сайд.
7. Мда столько хуйни всякой... А можно просто jquery учить, я слыхал щас все ее используют сайты - Не стоит, можешь начать писать на жыквери, когда будешь асом в других фреймворках, и, в частности самого нативного языка, но не раньше, не порть себе мозги
8. Ну все все бля, че как учить то? - Дальше я приложу список материалов для изучения

Учим JS:
Книги:
David Flanagan - "JavaScript: Подробное руководство" - маст хев, книга, которую будешь читать не раз. (Читать 6-е издание).
Дуглас Крокфорд "JavaScript: сильные стороны" - просто хорошая книга.
Стефанов С. - "JavaScript. Шаблоны"

Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.

Онлайн курсы:
Как же можно учить язык, только читая книжонки? Нужна практика, и только так изучаемое усваивается, не иначе.
CodeSchool - http://go.codeschool.com/KoeYkQ (не ругать за рефку, она прибавляет +2 дня бесплатного пользования)
Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

CodeAcademy - http://www.codecademy.com/
Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.

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

Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/

А потом? Я и так уже гений!!!

Выбери себе направление, может, ты хочешь игори делать, тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор велик.
Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io.
Хочешь писать MVC логику? Angular, backbone, да множество их.

В общем, Официальный JavaScript тред #2 объявляю открытым!
#2 #385177
>>385174
Я считаю, что в ближайшие годы произойдёт полный отказ от js в вебе. Почему? - Потому что.

Ближайшие годы это 2017 год.
961 Кб, 1536x2048
#3 #385181
>>385177
И кто встанет на замену? А кто весь веб будет переписывать с js? Учитывая темп развития, и порог охвата технологий, js захватит веб, точнее, он его уже давно захватил, а с сильными фреймворками и платформами, лишь укрепит свою позицию лет на 20 вперед.
sage #4 #385197
эй ребята, не хотите отведать немного Javascript ?
#5 #385202
Ну JS всё-таки намного лучше PHP даже на серверсайде.
sage #6 #385203
>>385177

>Почему? - Потому что.


Аргумент, уровня /pr.
2983 Кб, 1150x1598
sage #7 #385207
>>385202
JS - лучшее, что случилось с вебом за последнее десятилетие. PHP - это вообще недоразумение, ошибочно принятое за средство разработки, подлежащее утилизации в ближайшем будущем. Ноудискач.
#8 #385217
>>385196
>>385197
>>385198
Порватка, съеби уже. Тебе мамка борщика принесла.
#9 #385232
>>385207
Джаваскрипт - урод от мира языков программирования, делали его впопыхах, поэтому уже своим синтаксисом смахивает он на чудовище Франкенштейна, сшитого из кусков всякого говна. Это факт. Может, и лучшей альтернативы нет, но это не значит, что он не говно.
#10 #385239
>>385232
Синтаксически JS очень традиционный и выдержанный сиподобный язык. В этом плане я бы назвал "Франкенштейном", например, Nemerle. А тут-то что? Классическая сипараша без примесей.
#11 #385243
>>385181
Сижу с выключенным js. Никаких проблем.
#12 #385244
>>385207
JS как раз и может стать системным или серверным языком, но из языка разметки он уйдёт 100%, так как относительно сложен для своих целей.

Вместо него придёт какой-то визуальный язык. Либо просто CSS и HTML станут языками программирования с переменными и базовыми вещами, которые нужны в сайтостроении.
#13 #385253
>>385174

> Объектно ориентированный язык


Мультипарадигма же.

> Проще говоря, если ты не делаешь огромный интернет магазин, или хай лоад проект, то забудь о пхп или руби


Если это не хайлоад проект, то от раби, питона и пихопе ничего плохого не будет.

> А че еще прикольного можно сделать - А еще есть MVC фреймворки, angular, backbone, ember, knockout


Это инструментарий, а не "че еще прикольного можно сделать". Прикольное - это всякие там игрули, "я написал на js хуйню в 30 строчек" и т.п..
#14 #385254
>>385244

> Вместо него придёт какой-то визуальный язык. Либо просто CSS и HTML станут языками программирования с переменными и базовыми вещами, которые нужны в сайтостроении.


Не так-то просто убрать тьюринг-полноту там, где ее уже освоили.
#15 #385282
Посоны, это пиздец. Я конечно ньюфаг в ЖС, и джейкверей, но это пушка.
Есть одна хтмл страица для движка Razor(асп).
<div onclick="MovePages(0)">
@{
int index = 0;
foreach (var page in Model)
{
<div class="shard0-Page" data-id="@page.Id" data-index="@index" >
<p>@page.Condition</p>
<p>@page.Decision</p>
</div>
index++;
}

}
<script>window.onload = MovePages(0);</script>
</div>
И, скрипт небольшой, с джейкверей.
function MovePage(index, page) {
alert($(page).prop("data-index"));
}
function MovePages(index) {
CurrentPage = index;
$(".shard0-Page").each(
function (i, page) {
MovePage(CurrentPage, page);
});
}
Цимес в том, что свойство дата-айди - андефинед, в то время .как свойство класс исправно получается. ЧЯДНТ?
#15 #385282
Посоны, это пиздец. Я конечно ньюфаг в ЖС, и джейкверей, но это пушка.
Есть одна хтмл страица для движка Razor(асп).
<div onclick="MovePages(0)">
@{
int index = 0;
foreach (var page in Model)
{
<div class="shard0-Page" data-id="@page.Id" data-index="@index" >
<p>@page.Condition</p>
<p>@page.Decision</p>
</div>
index++;
}

}
<script>window.onload = MovePages(0);</script>
</div>
И, скрипт небольшой, с джейкверей.
function MovePage(index, page) {
alert($(page).prop("data-index"));
}
function MovePages(index) {
CurrentPage = index;
$(".shard0-Page").each(
function (i, page) {
MovePage(CurrentPage, page);
});
}
Цимес в том, что свойство дата-айди - андефинед, в то время .как свойство класс исправно получается. ЧЯДНТ?
#16 #385293
>>385282
Obj.data("index");
Теперь пиздуй переписывать с говна на ангуляр или нокаут, пидор.
#17 #385295
>>385282
Сидел 10 сек тупил чтоб понять че еще за "андефинед".
А где-ты в джаваскрипте используешь data-id? Вижу только data-index.
#18 #385301
>>385174
Че это он вдруг объектно-ориентированный, когда он всегда прототипно-ориентированным был? Там классов как таковых нет.
#19 #385304
>>385301
а как механизм наследования влияет на обьектно-ориентированность, ебанашка? иди спи, а то школу проспишь.
#20 #385308
>>385304
Я ж вроде опустил тему про наследование и сразу сказал, что там нет классов. Нет классов - нет их экземпляров. Нельзя описать сущность и создавать объекты на ее основе. Зато можно собирать объект из воздуха (прототип), который потом можно будет склонировать и изменить по необходимости.
#21 #385310
>>385308
Я ж вроде опустил тему про разум и сразу сказал, что там нет мозгов. Нет мозгов - нет их деятельности. Нельзя подумать мысль и кипятить чайник на ее основе. Зато можно собирать бред из воздуха (прототип), который потом можно будет склонировать и изменить по необходимости.
#22 #385314
>>385310
ну коли так, тогда ладно.
#23 #385380
Какие юзать тулзы, чтобы дебажить JS? И чтобы можно было смотреть запросы-ответы в ajax.
#24 #385399
>>385380
Chrome dev tools, очевидно же
#25 #385406
var field = document.getElementById('searchField');
var value = field.value;

$.post("request.php",
{
request: "participantsWithText",
name: value
},
...
);

Что не так? Как value подставить?
#26 #385428
>>385406
запихни это внутрь .ready.
#27 #385442
>>385310
Если нет мозгов, остается работать клоуном.
#28 #385489
>>385174
вот это ты вовремя с тредом в общем подскажи анончик я заебался уже долбаный яваскрипт не дает мне нормально сохранять файлы пакет system.io просто ужасно хуй пойми какой поделись примером кода с новичком пожалуйста очень хочу начать писать под веб а знакомый прогромист посоветовал яваскрипт
#29 #385500
>>385174
Джаваскриптаны, в прошлом треде какой-то олдфаг кидал ссылку на охуенную книгу на английском, не могли бы вы напомнить?
sage #30 #385501
#31 #385588
Ох, сочувствую тому программисту, который будет писать огромный хай лоад на node.js со всеми его коллбэками.
#32 #385595
Мимо-вкатился. Никогда на жабаскрипте не писал. Всегда о нем слышал исключительно плохие вещи, ни одной хорошей. Однако он в последнее время становится популярнее и популярнее, даже вне браузеров. Можете мне рассказать какие-нибудь его плюсы?
sage #33 #385596
>>385588
Не умеешь - съеби. Заебало кукареканье ваше.
#34 #385604
>>385588
Колбеки можно преобразовать в корутины на генераторах, тут кто то вбрасывал ссылку. Рли ананасы, научитесь писать асинхронный код, пользуйтесь библиотеками и не будет батхерта от коллбеков.
#35 #385606
>>385595
Плюсы в том что это язык чуть сложнее лиспа, но в отличие от лиспа он везде применяется и востребован. Есть конечно недостатки но они правятся и к ES7 мы получим идеальный скриптовый язык для всего.
#36 #385607
>>385606
Хули его используют то? Питон вон тоже простой, и в нем нет кучи ебанутостей.
#37 #385610
>>385607

>Питон вон тоже простой, и в нем нет кучи ебанутостей


В питоне больше ебанутостей чем в твоей мамке, анончик.
#38 #385709
Порекомендуйте лучший способ выучить джаваскрипт, если я уже знаю почти все остальные современные языки программирования.
#39 #385713
>>385709

>знаю почти все остальные современные языки программирования.


И сразу обоссал
#40 #385719
А потом он такой приходит и говорит:"я знаю кресты - я прочитал по ним аж три книги". Труэ стории.
#41 #385748
>>385604
Как научиться писать асинхронный код? Это все на промисах писать?
мимо-написал-на-js-100-строк
#42 #385761
>>385748
Изучи например в node стандартной библиотеке EventEmitter, подумай как применять событийную модель как основу приложения. Потом посмотри как устроен connect и как он строит цепочку обработчиков.
Выбери себе библиотеку по вкусу например https://github.com/caolan/async и хуярь с ней. Потом можешь приступать к deferred/promise/future вот этой штуке.
Вообще конечно я давно этим всем не занимался, может уже что-то новое появилось.
#43 #385839
>>385174
Как лучше и правильнее проверять аргумент на undefined?
function a(c) {
var b = typeof(c) == 'undefined' ? 0 : c;
//var b = arguments.length ? arguments[0] : 0;
return b;
}
#44 #385878
>>385839
x === undefined
никак?
#45 #385881
>>385878
слишком сильное колдунство
#46 #385892
>>385839
>>385878
Лучше всегда проверять как typeof x == 'undefined'.

>x === undefined


Не сработает если x вообще не объявлен или константа undefined переопределена.
#47 #385900
>>385839
Если тебе вот прям именно на undefined надо, то можно еще вот так:
[code]
function(undefined) {
function(c) {
if(c===undefinded){
//govnocode
}
}
}()
[/code]
В этом случае мы еще и защищаемся от переопределения undefined каким-нибудь мудаком в глобальном контексте.
Если же тебе нужно просто проверить, что аргумент был\не был указан - в большинтсве случаев хватит просто if(c), не подойдет, правда, для строк и чисел.
#48 #385904
>>385892

>константа


>переопределена


Ну смежно же. Надеюсь, в следующих стандартах поправят
#49 #385908
>>385900
Можно еще void 0 использовать вместо undefined.
#50 #385927
>>385174
Посоветуйте игру по проще для быдлятни, которую можно написать для обучени\портфолио? Блэкджек уже сделал. Что еще можно сделать?
#51 #385968
>>385927
бутылочку
#52 #385975
помогите ебанутому. В коде всплывает объект browser, но гугл меня забанил и траллит. Где почитать про его методы?
#53 #385983
>>385975
нет такого объекта
#54 #385992
>>385983
[code]
beforeEach(function() {
browser.get('app/index.html');
});
[/code]
взято из доков к ангуляру, что делает
browser.get() ? https://docs.angularjs.org/tutorial/step_03
sage #55 #386002
>>385992
Загружает вьюху скорее.
sage #56 #386003
>>386002
Алсо, похоже тут про твой браузер написано. Что и с чем едят

http://ramonvictor.github.io/protractor/slides/
58 Кб, 1285x590
#57 #386010
Ошибка постинга: в сообщении слово из спам-листа.
Поясните, анончики.
#58 #386012
>>386010
Если вызываем функцию Quo с префиксом new, то:
1. Создается новый объект, __proto__ которого присваивается Quo.prototype
2. Для кода этой функции this присваивается объект, созданный в 1-ом пункте

Все правильно понял?
#59 #386013
>>386012
1) в лисе только
#60 #386014
>>386013
Я так понял, некоторые движки не дают доступа к __proto__ по проперти __proto__, но на деле оно все равно там есть, надо же его как-то называть?
#61 #386015
>>386014
ага, именно так
#62 #386016
>>386015
Ну и как нормальные люди этот __proto__ называют?

Если они называют его прототипом, то не создается ли конфуз с тем, как называть свойство под именем 'prototype'?
#63 #386049
>>386016
его называют свойство __proto__, смысл в том что(кроме лиса) не даст тебе никто доступа. Потому она как бы есть, но тебе знать его не нада
#64 #386058
Работал кто с Ace Editor? Как с ним работать то после загрузки страницы? Ищу нахожу по айди div, которым я инициализировал редактор, а дальше что? у него нет свойств и методов редактора.
37 Кб, 467x480
#65 #386072
Натоны, хелп. Пытаюсь получить список, содержащий посты открытого в браузере треда.
http://pastebin.com/jsKd0xqh
Когда вызываю getPosts(), получаю
TypeError: Cannot read property 'map' of undefined
#66 #386073
>>386072
Если че, на js кодю 2й день, сильно не обоссывайте.
#67 #386074
>>386073
нет свойства map у posts. Давай перед этим поставь console.log(posts) и сам увидишь в чем проблема
#68 #386075
>>386074
[Object, Object, ..., Object]
Вроде выглядит как массив. Но typeof posts возвращает "object".
#69 #386076
>>386075
ты alert что ль использовал? он гавно, используй console.log() и открой консоль, он подробно распишет весь объект, хорош firebug в лисе если что
#70 #386078
>>386076
Я в хроме тестил. В огнелисе почему-то другая ошибка: TypeError: post.files is undefined
Хотя я вставил
console.log(post);
var media = post.files.map(function(file) {
\treturn file.md5;
});

> Object { banned: 0, closed: 0, comment: "<strong>Официальный JavaScript тред ....... date: "08/09/14 Пнд 15:16:23", email: "", files: Array[1], .. }.

#71 #386079
>>386078
А, все, я понял. У некоторых постов нет приклепленных пикч и, соотвтественно, поля files. Все. Все.
#72 #386085
Чтобы нового изучить в JS
#74 #386132
>>386131
пека унижает ретарда ITT
44 Кб, 604x604
#75 #386147
Анончики, пишушие на Angular, выручайте.

Есть объект
[code]
$scope.A = [
{
name: 'text',
link: 'http://example.com',
title: 'page',
image: '../img/some/image.png'
}
[/code]

Пытаюсь вывести картинку через ng-repeat и ng-src
[code]
div class="col-md-6" ng-repeat="values in A | limitTo: 4">
\t\t\t\t<img ng-src="{values.image}}">
[/code]

Но постоянно пишет что не правильно указан путь к картинке, 404, и все такое, еще после шаманства выбило что-то в духе its html/plain , короче не рендерит как картинку, но я даже не помню как путь указать.

Помогите пожалуйста.
#76 #386156
#77 #386159
>>386156
Бже, я могу поклястя, что и такой вариант пробовал, да как только я не прописывал путь! Но сейчас сработало! Спасибо анончик!
116 Кб, 861x604
#78 #386166
>>386131
Хотел просто глянуть как он переделал проект kitchensink.
Он его переписал на один фреймворк. Угадайте какой?
Подсказка - самый писк моды в среде жопоруких ебанатов
#79 #386167
>>386166
backbone?
#80 #386181
Angular кун, ты еще тут? Можешь объяснить мне такую простую вещь, как понять, зачем и когда нужно писать дерективы, фабрики, сервисы? Я ебашу одни контроллеры, либо использую встроенные директивы, объясни пожалуйста.
#81 #386183
>>386181
Общее правило такое: если у тебя в контроллере есть обвешивание событиями каких-то элементов, значит, ты всё делаешь неправильно. Все эти гриды, скролбары, дейтпикеры и т.д. надо оборачивать директивами и взаимодействовать с ними исключительно через параметры в шаблоне, которые будут подключать их к функциям и данным, которые уже лежат в контроллере.
Фабрики и сервисы почитай здесь: http://stackoverflow.com/q/15666048/1203558
#82 #386195
'app.controller('Games', ['$scope', '$http', function($scope, $filter, $http) {
$scope.play = 'hello';
$http.get('vendor/games.json').success(function(data, status, headers, config) {
$scope.A = data;
});'

'<div class="col-md-6" ng-repeat="values in A | limitTo: 4">
<h3>{{values.name}}</h3>
<img ng-src="{{values.img}}">'

И опять что-то не так, >Cannot call method 'get' of undefined
Но почему? Должна же вывестись инфа из json (смотрю не статично, а с локалхоста)

Объясни пожалуйста, ангуляр-кун!
#83 #386199
>>386195

> ['$scope', '$http', function($scope, $filter, $http)


Ебать дибил, попробуй

> ['$scope', '$http', function($scope, $http)

#84 #386201
>>386195

>'$scope', '$http', function($scope, $filter, $http)


'$scope', '$http', function($scope, $http)
Ты бы сам голову включал что ли
#85 #386208
>>386147
Рут скоуп с абсолютной ссылкой на сервис или base тэг, но обязательно убери нахуй точки из пути еблан
#86 #386236
Чому так происходит?

> var nums = ["1", "2", "3"]


< undefined

> nums.map(parseInt)


< [1, NaN, NaN]
#87 #386242
>>386236
Потому что в колбэк к мапу идет три аргумента.
На каждой итерации получается следующее
[code]

> var n = ['1', '2', '3'];


undefined

> parseInt(n[0], 0, n)


1

> parseInt(n[1], 1, n)


NaN

> parseInt(n[2], 2, n)


NaN
[/code]
50 Кб, 461x785
#88 #386339
котаны, поясните за ассинхронность.
Юзаю async.js - код всё равно похож на говно. Что делать, чтобы не было такой хуеты.
#89 #386341
>>386339
не юзать async.js.
16 Кб, 340x193
#90 #386362
>>386167
Но ведь очевидный ангуляр очевиден. Что же вы анончики?
#91 #386412
>>386339
попробуй $q
а может проблема в тебе?
#92 #386564
Нахуй нужен ui-router, если оно есть в самом angular, ng-view, обычный встроенный роутинг. Зачем доп. либа под это дело? (Или ее вынесли из ангуляра уже, и теперь оно по отдельности?)
#93 #386569
>>386564
Для вложенного роутинга.
#94 #386797
программач, суть такова. Я немного умею в верстку и мой кореш, который, к слову, работает погроммистом, сказал , что их контора готова взять меня на позицию junior frontend гавнометчик, но для этого мне нужно подучить JS и в частности backbone. Начал я читать учебник Ильи Кантора (пару глав пока осилил), вроде интерестно, но практики не хватает. Хочу писать код на js. Желательно не хуй пойми о чем , а привязанный к вебдеву, а еще лучше если и backbone затрагивается. Отправте куданить подучиться, где примеры? Туторы, упражнения? Ткните в ссылку носом, плиз.
#95 #386799
>>386797
Читай Кантора, и книги из оп поста, потом документацию backbone.
#96 #386824
>>386797
По бэкбоун есть хорошая книжка Addy Osmani на гитхабе, такие дела.
#97 #386825
спасибо, может задачки какие или примеры порешать посоветуешь? хочу параллельно просто код пописать
#98 #386826
>>386825
Задачки к чему?
#99 #386828
>>386826
задачи чтбы начать изучать JS на практике и максимально быстро начать работать с логикой веб приложений на стороне клиента
#100 #386830
>>386828
Даже не знаю, что сказать. Слишком обобщенный вопрос. Берёшь любую книжку по жс и смотришь, есть ли там задачки.
#101 #386836
ок. и на том спасибо. похоже так и поступлю
#102 #386995

443

Сасаны, что скажете про node.js? Это совсем зашквар? Перспективна ли эта херня, можно ли зарабатывать на JS?
Хочу, в качестве теста, сделать себе сервер с быстрыми закладками и интересной инфой из сети, ссылки, смищныйе картике, видео и т.д. чтобы все быстро сортировалось и искалось, чтобы можно было комменты ко все хуйне добавлять и т.д.

Ну и вообще душа к JS лежит, не нравится мне python, скобочек нету((({{
#103 #386998
>>386995

>сделать себе сервер с быстрыми закладками и интересной инфой из сети, ссылки, смищныйе картике, видео


тебе в пыхотред видимо
sage #104 #386999
>>386995
дерьмо уровня хачкеля, лучше пхп
#105 #387052
И снова я с платиной, рельсы или нода? Учу и дрочу попутно и то, и другое, рельсы кажутся проще и красивее, но нода более хипстерская, и с большим будущим, дайте советов дельных. У меня в приоритете сычевать дома и фрилансить.
#106 #387172
>>387052
1) Заходишь на одеск
2) смотришь каких вакансий за сегодня больше
3) учишь
4) ...
5) профит
#107 #387174
>>387172
Пожалуй раскрою пункт 4.
4.1) Ставишь 20 баксов в час. Отправляешь 3 заявки. Никто не берет тебя на работу.
4.2) Ставишь 10 баксов в час. Отправляешь 3 заявки. Никто не берет тебя на работу.
4.3) Отправляешь все заявки на неделю вперед. Никто не берет тебя на работу.
4.4) Через три дня отписывается индус, нанимает тебя на работу за 13.5 баксов чистыми.
4.5) Выполняешь работу.
4.6) Ждешь неделю, пока индус заплатит.
4.7) Малаца, первый этап пройден, впереди взятие 100 часов.
4.8) GOTO 4.3
#108 #387208
Короче, выбрал я рельсы.
Ангуляропроблемы #109 #387343
[code]
var csControllers = angular.module('csControllers', []);

csControllers.controller('characterCtrl', function($scope, LocalStorageService){
$scope.character = {};
$scope.character.attributes = {};

function Attribute(name, index){
this.name = name;
this.basevalue = 10;
this.bonus = 0;
this.value = this.basevalue + this.bonus;
this.mod = parseInt((this.value - 10)/2);
this.index = index;
};

$scope.character.attributes.str = new Attribute("str", 1);
});

<tr ng-repeat="attribute in character.attributes">
<td>{{attribute.name | uppercase}}
<td>{{attribute.value}}
<td>{{attribute.mod}}
<td>{{attribute.basevalue}}
<td><input type="number" ng-model="attribute.bonus">
</tr>

{{character.attributes.str.bonus}}
[/code]
При изменении инпута изменяется только последняя строчка, та, которая не в таблице. ЧЯДНТ?
Инб4 используешь google-driven development и не читаешь доки.
Ангуляропроблемы #109 #387343
[code]
var csControllers = angular.module('csControllers', []);

csControllers.controller('characterCtrl', function($scope, LocalStorageService){
$scope.character = {};
$scope.character.attributes = {};

function Attribute(name, index){
this.name = name;
this.basevalue = 10;
this.bonus = 0;
this.value = this.basevalue + this.bonus;
this.mod = parseInt((this.value - 10)/2);
this.index = index;
};

$scope.character.attributes.str = new Attribute("str", 1);
});

<tr ng-repeat="attribute in character.attributes">
<td>{{attribute.name | uppercase}}
<td>{{attribute.value}}
<td>{{attribute.mod}}
<td>{{attribute.basevalue}}
<td><input type="number" ng-model="attribute.bonus">
</tr>

{{character.attributes.str.bonus}}
[/code]
При изменении инпута изменяется только последняя строчка, та, которая не в таблице. ЧЯДНТ?
Инб4 используешь google-driven development и не читаешь доки.
#110 #387350
>>387343
Лол. А что, по-твоему, ещё должно изменяться?
#111 #387354
Короче, пиши $scope.$watch, или во view вместо {{attribute.value}} -> {{attribute.basevalue + attribute.bonus}}.
#112 #387356
>>387350
Мне бы как-нибудь сделать так, чтобы значения свойства (value) объекта (str) изменялись при изменении другого свойства (bonus). Казалось бы, character в $scope, а str в character, и должно работать, авотхуй.
#113 #387370
>>387356
А вот и не должно. Ебашь $scope.$watch с функцией первым параметром.
#114 #387376
ДЖИКВЕРИ - ЗАШКВАР ИЛИ НЕТ?
#115 #387381
>>387376
с каких пор самая популярная библиотечка - зашквар? Ахуели что ль совсем?
#117 #387403
>>387402
туше
#118 #387417
Как и где найти вакансию на джуна angular? Какие требования для джуна, что необходимо уже уметь и знать?
Не могу ничего найти.
#120 #387420
>>387417
Хуй знает, я когда-то, не зная ангуляра, отправил резюме, за вечер что-то там почитал, сделал тестовое, и устроился на работу. JS-обезьянки сейчас очень востребованы что в Рашке, что в Украшке, что вообще в мире. Студентов учат в основном только Pascal, С, С++, C#, Delphi, Жабе, иногда PHP, ну и, если повезёт, лиспам и прологам. Самоучек всегда мало, и потому спрос на JS кодеров намного превышает предложение и найти работу гораздо проще.
#121 #387500
>>387419
Ангуляр не нужен, самый тормозной фреймворк.
#122 #387617
>>387343
Ну посоны.
New, angular.copy и angular.extend не копируют watch'и. Есть в ангуляре какой-нибудь способ реализации классов, который это делает? Или ебашить все что шевелится $scope.$watch - это штатный режим работы?
#123 #387659
Ананасики, помогите

javascript девелоперу обьязательно знать хтмл и сисс в совершенстве? То есть уметь верстать макеты любой сложности. Месяц задрачивал эти языки разметки, сверстал пару макетов, но все равно еще многого не понимаю в верстке. Заебало с этой хуйней возится, выравнивать эти кнопочки, пиксел-перфект - вся хуйня.

Хочу учить нормальный ЯП, но если посмотреть на вакансии джава-скрипт/фронтенд девелопер то везде требуют хорошее знание css.
#124 #387664
>>387617
Блять, ты заебал, если у тебя есть поле, которое не предназначено для ручного мутирования, и которое зависит от другого поля, значит, у тебя есть поле, вместо которого должен быть аксессор. Делай так и не еби мозги: http://pastebin.com/AXJxJ0Rx
Если же значение должно быть вручную модифицируемым, тогда если при его изменениях надо чтобы и зависимые поля как-то осмысленно обновлялись, значит, ты пишешь астральную поебень и пока ты не в состоянии выдумывать хитрые реактивные метапаттерны на ходу, тебе будет несладко, если же пересчитывать зависимые не надо, и прост хочется, чтобы можно было вручную на ходу "затереть" зависимость и установить жёсткое значение, можно сделать что-то такое: http://pastebin.com/Nbkn0Sxe Пока value и mod будут неустановлены вручную, они будут высчитываться по формуле, но можно переопределить и тогда аксесор будет возвращать первый дизьюнкт.
9 Кб, 505x295
Помогите, посоны, зелёному #125 #387669
Сап, яваскриптач. Явач не учил до этого, прочёл пол-книги "Сильные стороны Яваскрипт", сейчас в Юнити делаю свой рогалик, дак вот, я проверил и всегда так работало, что я (и всё, впрочем) легче что-то изучают, если начинаю с интересного. Например, я никогда не мог выучить английский, пока не начал выписывать интересные слова, и сейчас я знаю английский на около B-1 lvl, также и с знанием компа, решаю почти все проблемы, которые могут возникнуть, а всё гугол, я ведь не читал целую книгу по всем проблемам, только фрагменты, а когда уже изучил их, читаю книги, и все фрагменты связываются воедино, получаем обширное знание чего-то.

Отошёл от темы, мог поставить в спойлер, но в разметке я рак.

Итак, вопрос, я знаю синтаксис Си, и помню, что для вывода на монитор значение перемонной нужно было написать следующее (ну и конечно, перед этим обьявить переменную, но не будем капитанить-очевиднить):
int dlina;
dlina = 20;
printf ("my pinus is - %d метров", dlina);
Ну дальше выпоняли, хочу сделать подобное в Яваскрипт, чё писать-то? Гугол пишет, что забанен.
#126 #387671
>>387669
console.log('radius of my anus is %d', 42)
#127 #387679
>>387664
Спасибо.
#128 #387687
>>387659
Зачем ты у нас спрашиваешь, мы же не размещаем эти вакансии? Что там написано, то и учи, чтобы тебя взяли.
43 Кб, 672x353
#129 #387698
>>387671
нихуя не работает, братишка.
#130 #387705
>>387698
я думал тебе вывести на экран надо, а пик твой не смотрел. в доках нет чтоли ничего?
#131 #387725
>>387698
Толсто
#132 #387788
>>385174
Посоны, которые пользуются современными клиентскими JS фреймворкам, объясните, как вы решаете проблему SEO, еби его мать?

Т.е. я имею ввиду, SEO'шники на проекте ебут мозги по поводу того, что должна отдаваться статика для поисковиков, а на JS уже рендерить для пользователя. В итоге приходится писать шаблоны по два раза и городить невероятные костыли. Как вы разбираетесь с этим?
#133 #387789
>>387402
Проиграл. Слева пишется строчка на jQuery, справа 10 строчек на ванильке. Естественно, никакой долбоеб не будет хуячить весь код AJAX запроса, он скроет его за функцией. Другие вещи он тоже скроет за функциями. И начнет получаться обратно ебучий jQuery, только свой и бегающий на костылях с даунской улыбкой. Заебись перспектива, че.

jQuery, если что, в работе не использую.
#134 #387795
>>387789
Двачую этого господина, а то получается подобное говно:
[code]
function(selector, parrent) {
\t\tvar selector = selector || "audio";
\t\tvar parrent = parrent || document;
\t\tif(selector[0] == ".") {
\t\t\tvar element = parrent.getElementsByClassName(selector.slice(1));
\t\t} else if( selector[0] == "#") {
\t\t\tvar element = parrent.getElementById(selector.slice(1));
\t\t} else {
\t\t\tvar element = parrent.getElementsByTagName(selector);
\t\t}

\t\treturn element;
\t}
[/code]
#135 #387796
>>387795
СУКА МАКАКА!!!! Опять сломал ББ коды
#136 #387798
>>387795
Вангую, сейчас прибегут поехавшие и начнут говорить тебе, что есть метод querySelectorAll, абсолютно не поняв, к чему ты привёл этот пример.
#137 #387833
>>387788
Так гугол их уже понимает.
#138 #387861
>>387664

>если у тебя есть поле, которое не предназначено для ручного мутирования, и которое зависит от другого поля, значит, у тебя есть поле, вместо которого должен быть аксессор


Сдается мне, я таки хуйню изобрел, и character должен быть объектом без методов, потому что его предполагается хранить между сессиями, а вся логика должна быть в функции, которая вызывается watch'ем character'а.
#139 #387877
Анончики, хорошо знающие ангуляр, нужна ваша помощь. Пишу калькулятор для магазина, есть сложные моменты для меня, может кто нибудь возьмется по наставлять меня? Желательно через личку. Был бы очень признателен.
#140 #387981
>>387798
Тащемта, все ваши джиквери, селекторы и т. д. - это говно мамонта. Будущее за виртуальным DOMом. Такие дела.
#141 #388050
>>387833
Ты про ебучий параметр, с которым он запрашивает отрендеренную копию страницы?
#142 #388052
>>387981
Пример приведи, наркоман. Гырдырбырдыр спизданул и сидит с умным видом.
#143 #388055
>>387981
Долбоёб, виртуальный дом не отберёт у тебя возможность положить один элемент в другой и следующую из этого необходимость иметь языки для описания иерархических запросов вглубь таких структур.
#144 #388078
>>388055
>>388052
+ 2 горящих пердака жикверидебилов.
продолжаем зоонаблюдения
#145 #388105
>>388078
Я не использую jQuery уже года два, наркоман.
Еще раз, нормально же прошу: переведи то, что ты сказал, на человеческий.
Под "виртуальный DOM" можно с натяжкой и пизду твоей мамаши подогнать.
#146 #388114
>>388105
Ну это вполне определённый концепт в js-мирке: https://github.com/Matt-Esch/virtual-dom . Другое дело, что это никак не влияет на нужность/применимость css селекторов.
#147 #388124
>>388105
чушок продолжает оправдываться на ровном месте и бугуртить
#148 #388126
>>388114
Я имел ввиду функции типа квериселекторолл и подобные, css конечно останется.
#149 #388145
>>388126
Квериселекторолл и подобные тоже останутся, иначе как ты будешь доступаться к глубинам своего virtual dom? Просто их придётся навелосипедить с нуля (сложная задача) для такого формата dom, ведь стандартные реюзнуть не получится.
#150 #388147

> иначе как ты будешь доступаться к глубинам своего virtual dom?


Вернее, лучше не "своего" а "чужого". Со своим-то типа как заранее можно предусмотреть, что там понадобится (на самом деле нет), а какую-нибудь библиотеку с UI элементом, которая его представляет таким вот dom'ом, и автор которой не догадался предусмотреть кастомизируемость вон того div'а в глубине. Насколько я понял, эту проблему во всяких react'ах не решали.
#151 #388149
>>388145
Останутся, остануться. Но использовать их особой нужды не будет. Там же прямо в readme.md есть пример использования - не знаю как в этой либе, но в идеальном варианте достаточно сохранить ссылку на то, что возвращает функция h.
#152 #388155
>>388149
Ну понятно, что ссылку надо хранить и отдавать во внешнем интерфейсе библиотеки - иначе и селектор не к чему будет применять. А вот, кстати, и они: https://github.com/parshap/vtree-select
#153 #388158
>>388147
Это решено даже в той простой либе, которую скинул - проперти передаются через простой Object, а потом по нему проходятся for in'ом. https://github.com/Matt-Esch/vtree/blob/master/vnode.js
#154 #388159
>>388155
Ну и что? Мало ли какие репозитории есть на гитхабе. Даже по примеру видно, что этот селект там как собаке пятая нога, просто кто-то привык к такому подходу
#155 #388161
>>388159
Это не "подход", а повсеместная необходимость. Вот берёшь ты качаешь ЧУЖИЕ либы с контролами, а увязывая вместе, надо оттуда кусок выпилить, там повесить колбек, а там-то стиль добавить. И все они, во внешнем api, внезапно, не позволяют конкретно нужных тебе кастомизаций. Это не исключительная ситуация, а стандартная.
#156 #388163
>>388161

>повсеместная необходимость


Нет. Причин почему нельзя передать в функцию, создающую виртуальный DOM-элемент что-то вроде { manya_callback: function () { return 'manya'; }} я не вижу.
#157 #388165
>>388163
Можно, но для этого тебе придётся на каждый такой чих править исходники чужой библиотеки.
#158 #388166
>>388163
+ кстати подобный fp-style подход лично для меня выглядит чище и понятнее, чем необходимость в разных местах вызывать функции меняющие что-то в глобальном контексте.
#159 #388167
>>388165
Почему?
#160 #388168
>>388167
Допустим, постороняя библиотека внутри реализует vtree из https://github.com/parshap/vtree-select, а её api состоит из getVTree и onStrongClick. Автор подумал, что никому не понадобится onSpanClick. Задача: повесить событие onSpanClick, не трогая исходники библиотеки.
#161 #388176
>>388168
Я уже ответил здесь >>388158. В том конкретном примере вместо hooks[propName] = property 32 строчка можно написать hooks[propName] = property.toString(). Надеюсь объяснение как превратить объект hooks в строчку типа "key1='value1' key2='value2' ..." не требуется.
#162 #388182
>>388176
Это выглядит как сочная и абсолютно бессмысленная шизофазия. Ты можешь написать, что конкретно надо сделать с getVTree(), чтобы во внутреннем span на клик отработал колбек? Куда, как, и какие "проперти" передаются "через простой Object", неясно.
#163 #388183

> hooks[propName] = property 32 строчка можно написать hooks[propName] = property.toString()


И причём здесь, блять, ".toString()"? Вообще охуеть.
#164 #388207
>>388182
>>388183
Я не знаю - ты зелень или просто школьник, поэтому вот пример, как передать Object, пройтись по его пропертям, превратив их в строки и создать из этого элементы: http://jsfiddle.net/fqf69xth/1/ Если что, это не пример виртуального DOM'a, но интерфейс там будет аналогичный.
#165 #388225
>>385174

Давайте объясняйте как мне из этого вашего js работать с браузерными плагинами/расширениями. Предположим у меня есть в браузере установленный плагин, который обычно включается прямо в html тегом <object>. Дальше подхватываешь его js'ом по id и дергаешь его апи.

Но допустим мне нужно чтобы он не включался в страницу, а висел фоновым процессом, чтоб не перезапускался при рефреше страницы, более того я хочу к нему доступ с любой своей вкладки. Как сделать? Через шаред треды не работает, в них можно передавать только js объекты, текст и блобы. Есть в js какое-то апи для работы с плагинами? Или хотя бы сериализатор, который позволит передать объект в тред и там десериализовать? То что я нагуглил - 3,5 функции возвращающие информацию о том какие плагины установлены в их описание. Если перевести плагин в блоб, то в треде он не собирается обратно, т.к. в js нет восстановления из блоба или хотя бы его экзекьюта. На работе загонял это тимлиду фронтендщиков, он долго расспрашивал, не понимал о чем я, потом когда понял, долго думал и в результате не родил ничего. Неужели этот js такая параша, что в нем нельзя разрешить такую простую задачку?
#166 #388229
>>388225
Вангую, что для разных браузеров по разному.
#167 #388253
>>388207
Блять, пиздец, ты реально поехавший чтоли? Какое это нахуй имеет отношение к делу? Причём тут строки, причём тут создание элементов? Ты забыл, о чём мы говорили?
#168 #388254
>>388253
БАБАХ
#169 #388267
>>388207
Чуть более обобщенный вариант с передачей эвента в функцию-обработчик
http://jsfiddle.net/fqf69xth/3/
114 Кб, 818x977
#170 #388339
Дорогой анонимус, помоги мне. Я в JS не могу, с JQuery знаком шапочно, но возникла необходимость реализовать на сайте следующий шушпанцер - происходит событие №1 - выполняется анимация, блок за некоторое время перемещается из точки А в точку В, по приходу в В плавно меняет свой opacity. Происходит событие №2 - возвращается исходное значение opacity, блок возвращается из точки В в А. При этом, если одно из событий происходит до завершения анимации вызванной другим событием ,например, произошло событие №1 - блок начал движение в точку В и на полпути происходит событие №2, анимируемый блок не должен проделывать оставшуюся часть пути в точку В и менять opacity, а должен с того места где его застало событие, вернуться в точку А.
Буду реализовывать это на jQuery. Не прошу писать за меня код, направь в правильном направлении, я так понимаю нужно смотреть в сторону .queue() , .clearQueue() ?
#171 #388377
>>388267
Ты бы лучше попытался ответить на >>388168, вряд ли тут кому-то интересно, как ты умеешь писать циклы и перебирать поля объектов на жс. Я попробую для тебя переформулировать. Вот код библиотеки: http://pastebin.com/VhAaKS4h . Всё, что ты можешь с ней делать - вызывать yobaliba.mkVTree(). Тебе нужно повесить событие onHover на span.
#172 #388378
Может тебя название "vtree" смущает? Я не знаю, к чему тут оно, надо было написать instantiateSomeLibraryUiControl.
Аноним #173 #388435
>>388225
Ну бамп же
203 Кб, 331x331
#174 #388509
>>388339
Почему вы не отвечаете на мой ответ!!!
#175 #388548
>>388339
Через animate(...).animate(...) делаешь все телодвижения, если нужно вызываешь .finish()
sage #176 #388562
>>388509
animate + stop
#177 #388675
Сапп анон, нужна помощь.

Я хочу изучить более тяжелый язык программирования в частности JAVA, начал его изучать, но в связи с ситуацией(да, я из новороссии, и нет, мне глубоко похуй на политику), решил сначала выучить язык с более низким порогом вхождения, что бы устроиться на удаленку или фрилансить(а в свободное время доучить JAVA, хуевая работа пока есть), выбрал конечно же JavaScript(с HTML 5 and CSS 3 знаком примерно на том же уровне), прошел курс на w3, в принципе особых сложностей не увидел, но теперь у меня еще больше вопросов чем ответов и на вид простой JavaScript открылся многими гранями и изучу его не намного быстрее.

Так вот анон подскажи, что ты думаешь, стоит мне добивать ЯваСкрипт или не ебать мозги и учить то, что мне больше нравиться(Ява)? Так как по скорости вхождения я особо не выиграю, а просто потрачу время в бесплодных поисках фриланса за копейки или я не прав и осталось совсем не много и я смогу заработать копейку?

Я продублировал вопрос в тред по яве, ЯваСкрипту и общий тред.
#178 #388740
Треда про флэш не нашел, но он все равно вместе с JS используется, спрошу здесь.

Можно ли активировать две флэш-кнопки одним кликом? Под активировать я имею в виду запустить соответствующее каждой из них действие.
Я использую Zero Clipboard и Downloadify в юзерскрипте для копирования в буфер и вызова диалога сохранения. Не хочу делать две кнопки и кликать два раза, хочу все и сразу.
Где-то слышал, что событие клика может проходить сквозь несколько слоев и активировать нижележащие, но у меня ничего не получилось при расположении кнопок друг на друге, только верхняя работает.
И да, имеется в виду реальный клик мышью, яваскриптовский click() не прокатывает с флэшем.
#179 #388743
Есть ли выгода основательно учить node.js, если планирую писать на джаве. Знания джаваскрипта приветствуются, а тут привалил курсач по ноде. Теперь выбор, либо делать на отьебись, либо что-то поучить.
Это тот же джаваскрипт, просто расширенный, я правильно понимаю?
#180 #388749
>>388743
Есть смысл забить либо на ноджс, либо на жабу. Если ты здоровый, умный, и перспективный молодой человек, ориентирован на результат, если тебе приносят удовольствие реальные вещи, а не абстрактное архитектурное дрочилово, рекомендую выбирать ноду.
#181 #388758
>>388749
Накидай советов, как "понять" ноду.
мимо-изучающий
#182 #388762
>>388758
Да хуй её знает, сам-то я любитель абстрактного дрочева, а скрипты ваши в рот ебал.
#183 #388796
>>388675
учи жаву
>>388740
съебал в веб мигом
>>388743
ебааать
>>388758
читай доки, что ее понимать то?
#184 #388799
>>388796
C веба и пришел, никто не знает или не отвечает. Сказали бы хоть "нет, принципиально невозможно", так нет, отмалчиваются.
#185 #388822
>>388758
google -> node.js in action читай до главы про express
#186 #388890
Кто-нибудь писал расширения для Firefox? Мне необходимо наладить коммуникацию между скриптами расширения. Из page-mod в page-worker и обратно. Никак не могу разобраться с port.emit и port.on. Гуглил, читал доки - не помогло.
18 Кб, 1125x159
массив #187 #389001
Зашквар с массивами, выручай явабох-антох.

Имеется овер900 строк контента без айди и классов со спанами, к которым привязан только онклик с функцией. Всё на пикче.

ессно с массивом [0] он будет возвращать спан первой строки. Внимание, вопрос: какой массив позволит в данном случае возвращать спан той строки, на которую кликают в данный момент? Я сломался.
#188 #389014
>>388796

>ебааать


А что не так то?
#189 #389047
>>389001
Эммм... this?
#190 #389054
Поясните. Вот есть объект, который регистрирует event listener. Как из callback получить this объекта? Нормально ли делать замыкание с var that = this или есть более православный способ?

И еще вопрос. Есть некая сущность, скажем, todo-лист. У него есть набор item-ов. По определенным причинам я не хотел бы создавать item-ы напрямую (т.е., нужно не List.add(new Item()), а var item = List.createItem()). Это нормально для JS, учитывая сложности с созданием приватного конструктора (замыкания на замыканиях и замыканиями погоняют)? Что можно почитать на эту тему? Сам язык знаю.
мимо-заставили-писать-на-js-кун
#191 #389064

>Поясните. Вот есть объект, который регистрирует event listener. Как из callback получить this объекта?


Ты о чем, чумачечьший? У тебя this в колбэке и так указывает на объект, к которому обработчик был привязан.
#192 #389100
>>385174
Парни собираюсь делать небольшой веб проект.
Выбрал node.js+express для бэкенда, react для фронтенда.
Все правильно сделал? Есть еще какие-то restify, koa и так далее но насколько я понял, они еще недостаточно mature.
sage #193 #389112
>>389100

>react


слишком жирно для небольшого проекта
sage #194 #389113
А кто нибудь имел дело с фреймворками от SAP sapui5/openui5? Может посоветуете годных источников информации с примерами?
#195 #389120
function Attribute(name, index){
this.name = name;
this.basevalue = 10;
this.bonus = 0;
this.value = 0;
this.index = index;
};

Attribute.prototype.update = function(){
this.value = this.basevalue + this.bonus;
this.mod = parseInt((this.value - 10)/2);
console.log(this.name + " " + this.value + " " + this.mod);
};

<td><input type="number" ng-model="attribute.bonus" ng-change="attribute.update()">

Работает до тех пор, пока не загружается сейв.

//save character
$scope.saveCharacter = function(){
LocalStorageService.save('character', $scope.character);
};
//load character
$scope.loadCharacter = function(){
$scope.character = LocalStorageService.load('character');
console.log($scope.character);
};

csServices.service('LocalStorageService', ['$rootScope', function(){
var service = {
load: function(key, value){
return angular.fromJson(localStorage[key]);
},
save: function(key, value){
localStorage[key] = angular.toJson(value);
}
}
return service;
}]);
Update раньше был в самом "классе", а вместо ангулярных функций были JSON.stringify и JSON.parse, результат немного предсказуем.
Внимание, вопрос! Куда мне запихнуть update, чтобы жсон его не ломал? Инб4 в анус.
#195 #389120
function Attribute(name, index){
this.name = name;
this.basevalue = 10;
this.bonus = 0;
this.value = 0;
this.index = index;
};

Attribute.prototype.update = function(){
this.value = this.basevalue + this.bonus;
this.mod = parseInt((this.value - 10)/2);
console.log(this.name + " " + this.value + " " + this.mod);
};

<td><input type="number" ng-model="attribute.bonus" ng-change="attribute.update()">

Работает до тех пор, пока не загружается сейв.

//save character
$scope.saveCharacter = function(){
LocalStorageService.save('character', $scope.character);
};
//load character
$scope.loadCharacter = function(){
$scope.character = LocalStorageService.load('character');
console.log($scope.character);
};

csServices.service('LocalStorageService', ['$rootScope', function(){
var service = {
load: function(key, value){
return angular.fromJson(localStorage[key]);
},
save: function(key, value){
localStorage[key] = angular.toJson(value);
}
}
return service;
}]);
Update раньше был в самом "классе", а вместо ангулярных функций были JSON.stringify и JSON.parse, результат немного предсказуем.
Внимание, вопрос! Куда мне запихнуть update, чтобы жсон его не ломал? Инб4 в анус.
#196 #389140
>>389120
Или мне перестать читать кукарекающих про производительность и использовать watch?
#197 #389147
>>389112
Представь этот проект как некая доска объявлений с расширенными возможностями (комменты, рейты, каталог с кучей фильтраций и тд).
#198 #389167
>>389047

>Эммм... this?


что смущает? Это просто функция.

>>389001
^^^ Помогач, выручай, я знаю тебе лень и ты считаешь меня нубом (а я нуб). Так что там с массивом?
#199 #389169
>>389167

>возвращать спан


Попробуй еще раз, нихуя не понятно, что тебе надо сделать.
Возможно, тебе надо
onclick="getThis(this)"
function getThis(element){var text = element.innerText};
?
this это таки не функция, а кейворд, и >>389047 намекает на то, что тебе надо его тут использовать.
#200 #389174
>>389140
Пилим немаленький проект, причем пилим без изъебств с оптимизацией. Никаких проблем с производительнстью не наблюдаем.
#201 #389176
>>389174
Спасибо. Тот пост удалил бы, если бы не кровавый Абу, функция нормально работает в $scope.
#202 #389189
>>389064
Мне не нужна DOM-нода, к которой я привязал обработчик, мне нужен мой объект, из метода которого я регистрировал обработчик.
10 Кб, 580x186
#203 #389196
>>389169
извиняй, я в силу своей нубости, не смог оъяснить внятно, походу.

вот кусок кода, который подходит для примера:

пикрелейтед.пнг

цель: сделать так, чтобы функция работала на той строке, на которую собственно и кликают. Сейчас же (ну например в данном случае выделение) выделение пройдёт на 1й строке в range span'а. Проблема в том, что у строк нет уникального айди или класса. getElementsByTagName('span')[0]; - привязывает массив к 1й строке.

Была мысль как-то иначе сделать, чтоб избежать массивов типа:
\tfunction getTagName(gtn) {
\t alert(gtn);
\t}
и в строку вписать getTagName(this.tagName);

но не хватило мозгов, как это объеденить всё.
#204 #389200
>>389196
Ты кликаешь на спан и хочешь параграф?
https://developer.mozilla.org/en/docs/Web/API/Node.parentNode
http://api.jquery.com/parent/
#205 #389206
>>389200

>Ты кликаешь на спан и хочешь параграф?


контент самого спана и нужно
jquery не хотелось бы
<http://api.jquery.com/parent/
щас поковыряю
#206 #389207
>>389206
т.е. поковыряю
https://developer.mozilla.org/en/docs/Web/API/Node.parentNode
ниндзяфикс+бамп
#207 #389210
>>389206
ЯННП, ты столько постов подряд пытаешься объяснить, что хочешь просто alert(window.event.target.textContent)?
#208 #389211
Пора отказываться от jquery. Я не троллю, но это реально бесполезная оболочка. Нет ничего, что было бы невозможно написать на чистом js.
#209 #389213
>>389211
Пора отказываться от js. Я не троллю, но это реально бесполезная оболочка. Нет ничего, что было бы невозможно написать на чистом ассемблере.
#210 #389214
>>389213
Как ты на асме клиентский код в вебе писать будешь, поехавший? Вот если бы PNaCl взлетел, тогда другое дело!
#211 #389217
>>389214

>клиентский код в вебе


Браузеры тоже бесполезная оболочка. И оси.
#212 #389218
>>389054

>Нормально ли делать замыкание с var that = this


нормально
в кофескрипте посл версии используется обертка (function(_this) { ... })(this) что дает то же самое, только еще создает скоуп.

>Это нормально для JS


Не советую морочиться с приватными полями или методами в JS, правильно все равно не сделать.
#213 #389227
>>389218
Спасибо.
#214 #389240
>>389189
Тогда через that=this делай, ну или через bind, хотя в последнем случае ты теряешь контекст вызова обработчика.
#215 #389257
>>389210

>alert(window.event.target.textContent)


я ещё раз извиняюсь за свою ущербность в неумении нормально объяснить, Антош. Что взять с такой ньюфажины, как я.

Если бы всё было так просто...

ну вот смотри (скрипт для IE еслчё):
http://jsfiddle.net/kzxzo4wx/
кликни там например на Word2b или Word3b - выделяется всегда Word1b, тут у меня range select по спану, но из-за привязанного массива [0], не даёт выделить что-то кроме Word1b.

Это маленький кусок скрипта, но уже на этом этапе запорол. В теории он должен будет выделять контент в спане по клику, с последущем копировании в буфер, вырезании и подстановкой другого контента.

Стаж изучения JS 2недели :(
#217 #389266
>>389257

> Если бы всё было так просто...


Все именно так просто.
http://jsfiddle.net/p2wzoben/
165 Кб, 600x649
#219 #389269
>>389262
Большое нубское спасибо!
Извиняйте Антошки, спасибос и бобра вам.

мне же намекали, боже, какой я тупой...
#220 #389274
>>389268
накажите меня, господин
#221 #389333
>>385174
Аноны, ответьте. Чем делать OAuth? Библиотек дохуя, но все они почему-то принимают user/secret и авторизуются с секретом. Но в вебе это же бессмысленно, так?
В чём подвох?
45 Кб, 500x375
#222 #389345
Аноны, хочу для небольшого приложения под йос использовать phonegap, посоветуйте нормальное расширение (плагин) для пушей-хуюшей, дабы и так свести онанизьм к минимому.
#223 #389351
>>385174

Начинать обучение Javascript лучше всего с этого: http://habrahabr.ru/post/215777/
#224 #389357
>>389351
1) Реальной альтернативы ты не предложил, и не можешь предложить.
2) Статья говно, в комментариях подробно разобрано, почему.
3) Тем не менее, JS говно, но см. пункт 1.
631 Кб, 3490x2322
#225 #389407
>>385174
Есть функция A которая что то делает, при этом используя функции B и C. Эти функции B и C нигде кроме функции A не используются. Правильно ли обьявлять B и C в функции A?
#226 #389409
>>389407
Вполне.
#227 #389415
>>389351

>Отбросив возню с именами, замечу, что первое время Javascript был очень даже неплох, и период моих наибольших симпатий к нему приходился на то время, когда появился jQuery, но не появился nodejs, а так же не набрали популярность фреймворки типа Angular и Knockout.



Дальше не читал.
#228 #389416
Что за долбоеб писал JS для макабы? В swag.js адов говнокод. Не удаляется последний топик из избранного.
#229 #389418
ребят, учусь в программирование.
Попытался написать скриптик простой. Ниработаит.
Кому не трудно-гляньте ЧЯДНТ. Спасибо
http://jsfiddle.net/5mrvudcy/
#230 #389421
>>389418
Что оно должно делать? Функция validate например, нигде не вызывается. Да и onclick ты неправильно ставишь. И не ясно зачем его ставить в функции под названием validate.
#231 #389422
>>389418

> ЧЯДНТ


Все.
Исправленная версия: http://jsfiddle.net/5mrvudcy/1/
#232 #389423
>>389421
я хотел чтобы, при нажатии на кнопку, должна выполнятся проверка валидности форм
#233 #389424
>>389423
Будь добр, не будь мелкобуквенным.
#234 #389425
>>389422
спасибо большое, что уделили мне время
#235 #389428
>>389425
Вообще, лучше бы тебе найти менее протухшие уроки. Так сейчас никто не пишет.
#236 #389430
>>389422
form.value == undefined почему не правильно? я же сравниваю с пустой строкой
#237 #389431
>>389428
я слышал что все сейчас пердолятся в MVC фреймворки, но мне бы сперва базовый синтаксис js освоить. вроде логику того что должно происходить я понимаю, но оформить "блок схему" в работающий код у меня часто не получается
#238 #389435
>>389430
undefined - это такая "несуществующая" переменная со значением undefined. Она не строка, и не пустая строка. Чтобы сравнить с пустой строкой, сравнивай с пустым строковым литералом ('' или "").

> но мне бы сперва базовый синтаксис js освоить


Лучше не привыкай к children и особенно к фиксированным индексам внутри children. Есть id/class в HTML, есть целое семейство всяких document.querySelector, querySelectorAll, getElementsByTagName, getElementsByClassName, getElementById в JS.
#239 #389436
>>389416
А еще на странице два #adminbar
#240 #389439
>>389435
спасибо. с undefined понятно.
"document.querySelector, querySelectorAll, getElementsByTagName, getElementsByClassName, getElementById" - это функции jQuery?
#241 #389440
>>389439

> это функции jQuery?


Нет, это собственные функции DOM. Первые две появились относительно недавно.

В jQuery с их помощью реализованы селекторы собственно в функции jQuery() она же $.
#242 #389441
>>389440
всё ясно. добра тебе
#243 #389455
Анончики, выручайте. Я кажется в глаза сношаюсь. Решил тут канвас потрогать, наговнокодил линкрелэйтед. Но при перемещении оранжевого кружка (игрок типа, ага) по карте он рисуется херову тучу раз, хотя в цикле я сперва перерисовываю карту. Кааааак, мать его?
http://pastebin.com/s8bQdTX6
#244 #389461
>>389455
beginPath!!!! beginPath, сука!!!! Я думал, с ума сойду.
#245 #389501
>>385174
Есть произвольный кусок жс кода. Следует его проверить на использование только определенного класса функций, сторонних библиотек. А еще он не должен подгружать контент со сторонних сайтов. Как это сделать?
_жс не знаю вообще_
#246 #389526
>>389501
например так. Но если ты не знаешь js то и не поймешь как это работает.
http://ideone.com/cO6SL7
#247 #389769
Бля, как вы учите этот js? На каждом шагу какая-то опасность чувствуется, написанный код, словно карточный домик, кажется дунешь и все развалится.
#248 #389797
>>385442
Ты давай покукарекай. Обьектно-ориентированность - от слов обьект и ориентированность. Не важно какая система наследования. Важно - то что есть обьекты\методы\свойства.
#249 #389822
>>389797
абъекты эт карочи када посылаешь сообщения, так Алан Кей сказал.
#250 #389933
>>389526
Да, к сожалению не понимаю. Можешь сказать в двух словах, что тут делается?
#251 #389934
console.log('#hex_'+x+'_'+y);
jQuery('#hex_'+x+'_'+y).css('top', yPos).css('left', xPos).css('z-index', 10);

Какую самую тупую ошибку я мог тут сделать? В консоли #hex_0_0, элемент с ИД hex_0_0 на странице есть.
#252 #389948
>>389934
Дай угадаю, у элемента дефолтовая position: static?
#253 #389956
>>389948
Absolute. Проблема в селекторе, но я ее в упор не вижу.
#254 #389957
>>389956
Еще тупая догадка: в id элемента случайно не "#hex_0_0" по внимательности написал (первый символ)?
#255 #389959
>>389957
id="hex_{{hex.x}}_{{hex.y}}"
Вообще, наверное, придется положить хуй на желание сделать красиво и перестать пытаться чинить то, что работает, хоть работает оно и на жквери.
#256 #389988
>>389933
Создается объект у которого есть куча геттеров с именами такими же как у глобальных переменных. При обращении к этим геттерам бросается исключение. Потом код, который нужно выполнить, оборачивается в конструкцию with с этим объектом и запускается. Таким образом если в коде где-то встречается обращение к глобальной переменной вместо этого идет обращение к свойству объекта, которое кинет исключение.

Q: я нихуя не понел объясни по человечески
A: нахуй пройди, читай доки в оп посте и просвещайся.
#257 #390006
>>389959
Начни с console.log(jQuery('#hex_'+x+'_'+y)) и возможно увидишь что в тот момент элемента еще не было.
#258 #390042
>>390006
Я пробовал вызывать эту хуиту $watch и директивой. Ладно, похуй, надеюсь от того, что чисто фронтэндовый функционал работает на жквери, команда ангуляра хуже спать не станет.
#259 #390059
ребят, разъясните за рекурсию. никак не научусь понимать чужой код, в котором присутствует вызов функции в теле этой самой функции. может есть какойто тутор или статья на эту тему для долбоёбов? да и вообще, нахуя отцы так код пишут-тяжело ж читать, часто, как по мне , проще реализовать через циклы?
#260 #390075
>>390059
Я бы тебе посоветовал начать самому писать рекурсивные функции. Начни с простого: посл-сть фибоначчи, возведение в степень, суммирование списка чисел.
Хз нахер пишут так, некоторые вещи кажется проще представить ввиде рекурсии.
#261 #390077
>>390075
Это если ты хочешь разобраться как рекурсия работает. А так, в js лучше все-таки циклом ебашить, js tail-рекурсию вроде не поддерживает.
#262 #390087
>>390075
спасиб. попробую
#263 #390089
>>390077
поддерживает, но он не оптимизирован.
30 Кб, 514x549
#264 #390166
2594 Кб, 394x422
#265 #390167
#266 #390255
Посоны, а как тесты для ангуляра дебажить? Если в юнит-тесты karma добавляю debugger – тесты проходят, breakpoint просто игнорируется.

Если тестирую e2e c debug: true в grunt-protractor-runner – я могу использовать стандартные cont/next/prev, но как только захожу в repl и пытаюсь что-то делать – пишет No frames.
#267 #390257
>>390255
А, все, с юнит-тестами разобрался – singleRun: true был в конфиге гранта и переписывал конфиг кармы.

С e2e все равно не понятно.
#268 #390326
Один сайт меняет содержимое на странице ajax'ом, при этом меняет url. Мне необходимо в юзерскрипте/расширении отследить событие смены адреса или xmlhttprequest. onhashchange пробовал - не реагирует.
#269 #390334
>>390326
Замени window.XMLHttpRequest на свой.
#270 #390366
>>390326
Нагуглил некоторые костыли stackoverflow.com/questions/18989345/how-do-i-reload-a-greasemonkey-script-when-ajax-changes-the-url-without-reloadin
Пожалуй напишу свой - буду обрабатывать клик при переходе по ссылке и onpopstate при переходе назад.
#271 #390488
>>390089
Да-да, это и имел ввиду.
22 Кб, 379x250
#272 #390823
Товарищи, у меня проблема.

Решил использовать AngularJS. Запилил на NetBeansе HTML5 Application проект (бекенд уже есть), там есть возможность сразу достать шаблон AngularJS-seed. Достал. Но не работает. Там нужно сделать npm-install и bower-install. Тыкаю правой кнопкой по проекту - тыкаю - в выводе тарабрские квадратики вместо ошибок. Плюс ругается, что нету NodeJS (нахуя он вообще тут нужен?). Поставил NodeJS как плагин в Нетбинсе - нихуя, всё равно ругается и нихуя не инсталлирует.

Пердолится с гитами не очень хочется. В интернетах шаблона AngularJS проекта нет, только инструкции как пердолится с гитом/Mavenом и прочей хуйнёй.

Что делать? Может кто-то скинет работающий AngularJS проект, чтобы там все зависимости были захуячены и т.д.?
#273 #390870
Использую PHP-фреймворк с шаблонизатором. У меня сейчас в разработке длинное полотно JS с оглавлением, и это очень неудобно. Есть ли возможность держать всё в одном файле во время разработки (с оглавлением, красиво, удобно), а потом, не знаю, автоматически разбивать этот файл на несколько с заданными именами, например?

То есть, есть general.js, я даю команду, и он разбивается на home.js, edit.js, и так далее. Ну а если нельзя, как вы подходите к организации процесса работы с JS? Я не очень понимаю, зачем мне нужен фреймворк, потому что у меня там одни рудиментарные манипуляции с DOM да Аякс-запросы, но, может, нужен? Объясните мне, пожалуйста, зачем MVC в JS, я правда не понимаю.
#274 #390885
Аноны, как найти работу, чтоб обучали, не с нуля, а с позиции джуна, интересует node+angular. Обгуглился, не нашел ничего. Очень хочу найти работу, где будут учить в этом направлении, я же в свою очередь буду делать какие то мелочи в этом направлении, попутно набираясь опыта и навыков. Я уже отчаялся, совершенно ничего не находится. Помогите. (Украшка или Рашка, не важно)
#275 #390947
>>390823
Попробуй с todomvc скачать пример.
И вообще, [code]
sudo apt-get install nodejs
npm install -g bower
cd ./proj
npm install
bower install
npm start
[/code]
>>390870
Обычно стоит вопрос как из кучи js-файлов слепить один для деплоя, а не наоборот. Не пойму что ты хочешь.
А фреймворки нужны как раз для упрощения манипуляций с DOM и HTTP, а так же для создания модульного приложения с правилной декомпозицией функиональности.
>>390885
Да в любой конторе, наверное, где нужен js-dev.
#276 #390984
>>390947

>Обычно стоит вопрос как из кучи js-файлов слепить один для деплоя, а не наоборот. Не пойму что ты хочешь.


Ну смотри, есть загрузка файлов на Аяксе на одной странице, зачем мне этот кусок кода посылать на клиентскую сторону для всех страниц? Дело не только в оптимизации, на других страницах и нод-то таких нет, выбирать нечего, потому что форма только одна, и она на той конкретной одной странице — в консоль вылетает ошибка.

>для создания модульного приложения с правилной декомпозицией функиональности


Я знаю, что такое MVC, я не могу понять, зачем это нужно для школоэффектов и асинхронных запросов, и прошу это объяснить на, например, коком-нибудь реалистичном сценарии; мол, для какого рода задач может потребоваться такой фреймворк.
260 Кб, 1920x1200
#277 #391157
Где взять учебник learn.javascript.ru в pdf бесплатно? Да, я действительно настолько нищеброд.
#278 #391165
>>391157
http://pastebin.com/3VAYADCd
В самом конце пасты.
#279 #391167
>>390984

>зачем это нужно для школоэффектов и асинхронных запросов


Для создания SPA, где большая часть логики расположена у клиента. Сервер в этом случае выполняет роль json-бэкенда, который чаще всего отдает необработанные данные и, если нужно, занимается валидацией.

Таким образом абстрактный SPA-двач при заходе на доску отдает json со всеми тредами, а MVC фреймворк на клиенте рендерит html, школоэффекты и функционал в рамках доски вроде отправки нового поста или просмотра треда.
18 Кб, 200x300
#280 #391168
>>391165

Спасибо, анон. Выручил.
#281 #391179
>>385174
Блядь, есть какие-нибудь шаблонизаторы чтобы был как swig/nunjucks, но без template inheritance и с паршиалами?
#282 #391211
>>391167

А, ну понятно, спасибо, вроде разобрался.
#283 #391259
Такой вопрос, если я сяду с нуля ебашить джаваскрипт, и буду вьебывать по 4-5 часов, сколько времени мне понадобится хоть примерно? Ибо столько вакансий на это чудо, что прям глаза разбегаются.
Мимоучилдругойязык.
#284 #391402
>>391259
пять лет
#285 #391419
>>391402
Лол, пять недель скорее.
30 Кб, 960x720
#286 #391427
Скриптач, поясни за TypeScript. Почему тред не называется "Официальный TypeScript тред"? Братья умирали?
#287 #391434
>>391427
Майкрософтопараша нинужна.
sage #288 #391458
в /web быдло
#289 #391494
>>391434
Но ведь тогда и хачкель нинужен, ОХ ВЕЙТ
#290 #391542
>>391419
Через 5 недель ты поймёшь, что знаешь js. Через 10 недель ты поймёшь, что только начал.
#291 #391585
>>385174
Как лучше инжектить (?) бд в роутер экспресса?
Пока нагуглил два способа: через добавление поля в реквест и напрямую когда вызываешь модуль.
#292 #391597
>>388675

>прошел курс на w3


Что за курс, ананас?
#293 #391684
Пидарки, есть один домен 1.ссср и есть 2.рф домен.

Я делаю запрещённый во всех современных браузерах приём, а именно, реквестую запрос страницы из кроссдоменно и получаю ожидаемый Origin:null и Access Denied.

На дворе, между прочим, почти 2015 год, а я до сих пор не могу без костылей и проксирования аяксово гетовать между доменами? Поясните за последний Chrome, можно ли как-то разрешить без всяких костылей кроссдоменные запросы. Чтобы пользователь один раз сказал или лучше не говорил, да, типа разрешаю.
#294 #391685
ребят, помогите исправить ошибку в синтаксисе
http://jsfiddle.net/m2cjcqn0/
в месте "result=true break :" Знаю что можно реализовать через if, но пытаюсь сделать через оператор "?"
#296 #391688
>>391685
спасибо. реализовал вот так http://jsfiddle.net/m2cjcqn0/2/
#297 #391689
>>391687
не, дружище. Консоль ругается на "неожиданный символ ; "
но спасибо за попытку помочь
#298 #391700
>>391689
Делай по классике. Я сам не использую ?, только в самых элементарных вилках, когда нужно 0 или 1 присвоить. Потому что плохо читается такой код.
#299 #391761
>>391684
.htaccess
Header set Access-Control-Allow-Origin ""
не?
#300 #391762
>>391761

>Header set Access-Control-Allow


>>391761
звёздочка в кавычках съелась.
#301 #391795
>>391762
Заработало.
#302 #391854
как вкатиться в Angular?
/r мануал именно для дебилов.

спасибо
#303 #391869
>>391854
Пожалуйста.
#304 #391897
Как создать перечисление/enum с контролем перечисления всех пунктов в switch? То есть что-то типа sealed class в Scala. Это вообще реально?
#305 #391936
>>391897
нехуя нельзя
но я для тебя зделал на кофискрипте
чтобы показать как я могу

http://pastebin.com/Ms3e2hVE
35 Кб, 576x432
#306 #391960
>>391936
Спасибо.
935 Кб, 632x1283
#307 #391963
Let's take JavaScript for example. (I worked on the original versions of JScript at Microsoft from 1996 through 2001.) The by-design purpose of JavaScript was to make the monkey dance when you moused over it. Scripts were often a single line. We considered ten line scripts to be pretty normal, hundred line scripts to be huge, and thousand line scripts were unheard of. The language was absolutely not designed for programming in the large, and our implementation decisions, performance targets, and so on, were based on that assumption.
#308 #391973
>>391963
Ок зелененький, ну допустим мы решили что js говно. Какой язык ты предлагаешь в качестве альтернативы?
#309 #391974
>>391973
Если не джаваскрипт, то ЧТО!?
#310 #391976
>>391963
Исповедь спермообезьяны (со своими обезьяньими проекциями), программиста на спермодиалекте.
#311 #391980
>>391974
ну если пришел просто потралить, так уебывай лучше, не засоряй тред
#312 #391981
>>391980

>пожалуйста не траль, нам и так тяжело

#313 #391984
Есть бекенд с JSON API, есть клиент на reactjs. Есть ли какая-то либа, которой можно сгенерировать что-то типа хелперов для урлов API, т.е. чтобы писать, например, posts_path, вместо http://yoba.com/posts?
#314 #392020
>>391984
нахуя http://yoba.com/ писать?
#315 #392044
>>392020
Потому что в dev окружении домен будет другим
85 Кб, 1664x558
#316 #392109
Котаны, помогите дауну.
Начал изужать джиквери, вот нашел один эффект для выпадающего меню.

Пробовал прикрутить - не пашет =(
#317 #392136
>>392109
может проебал скобки в конце

мимоомич
#318 #392140
>>392109
Спешите видеть, дауны помогают дауну
#319 #392199
>>392109
1. Верни скобки на место, мудила.
2. Если хочешь разместить пример кода - используй codepen или jsfiddle, никто здесь не будет вглядываться в твои сраные скриншоты, мудила.
3. Ты - мудила, мудила.
#320 #392231
>>392109
что это за ide?
ультранюфаг
#321 #392238
>>392231
sublime-text
#322 #392239
backbone и angular

Поясните на простом примере в чем разница, и где использует первый, а где второй?
#323 #392245
>>392239
Backbone - очень простой сам по себе, в нем почти ничего нет, только простенькое разделение на модель и вьюху и немножко бойлерплейта, связанного с обработкой событий и общением с бэкендом. Этакий энтри-левел мвц-фреймворков.
Angular - навороченный комбайн с собственной модульной системой, системйо шаблонов с расширением HTML'а, 2way дата-байндингом и прочим, прочим, прочим. Порог входа довольно высок, что хорошо подтверждается нытик-статьями о том, какой ангулар плохой, неудобный и ваще нихуя непонятно.
#324 #392411
>>391427
Тот же js, но с традиционным наследованием, необязательной статической типизацией и умным автокомплитом для Visual Studio и Webstorm. Из минусов: для того, чтобы использовать js-либы нужны специальные .d.ts хидеры к ним с объявлениями типов, и местный аналог директивы #include с указанием пути к файлу очень задалбывает, если много папок. В принципе язык понравится тем, кто не может жить без IntelliSense и не переваривает прототипное наследование.
#325 #392532
Почему яваскрипт считают недоязыком, даже в этом разделе? Даже на пхп столько помоев не выливается как на этот простенький сценарный язык.
#326 #392539
>>392532
толсто
#327 #392541
Напишите какие реальные задачи вы решили при помощи яваскрипта. Не какие могли бы решить гипотетически, а действительно одного js хватило.

Я сам с нуля писал приложения на разных Basic-ах, C-C# (Visual C), Java, Pascalе-образных языках, но всё что касается моей практике с JS ограничивалось возможностями конкретного браузера, а они, мягко говоря, отстают от системных возможностей.

Даже java приложения обгоняют те же самые, написанные под Chrome и FF.

В первую очередь беспокоит графика. Раньше стояла проблема с доступным местом, но сейчас благо появились разрешения для unlim storage, но вот графика лагает при работе даже с примитивами.
23 Кб, 320x240
Работа JS+PHP #328 #392554
Есть программеры за еду? Делаю общественное дело, ищу программиста.

Требуется сделать сайт на Jquery + API Яндекс.Карт + API vk + PHP + Mysql.

Сервис, в котром пользователи могут добавлять точки на карте, а потом просматривать их. Авторизация через контакт, хранение данных в бд, страницы - на простом php-фреймоворке по вашему выбору (думаю о F3 Framework).

Ближайший пример: http://красивыйпетербург.рф/map

Будет ТЗ и постановка задач в реальном времени. Работа на несколько часов в день.
Оплата по часам. Опишите что умеете в двух словах.

randallyoungyoung@yahoo.com
#329 #392609
>>392541

>Напишите какие реальные задачи вы решили при помощи яваскрипта.


Напишите какие реальные задачи вы решили хоть когда-нибудь.
fix
#330 #392697
Как в хромовских девтулзах сделать вывод console.log(object) сразу в экспанднутом виде?
Блять, гуглю хром АПИ и найти не могу, чувствую себя мудаком.
#331 #392701
Что-то в ЖС какой-то синтаксис ебучий, или мне кажется так?
Я не програмизм, сначала взял за питон, потом почему-то режил ЖС дрочить и какой-то он ебаный, по сравнению с питоном.
#332 #392704
>>392701
все правильно
в жс специальный синтаксис чтобы крестушки и жабушки не бугуртили что нипанятна
поэтому сразу бери кофескрипт
он удобный и не ебучий
#333 #392706
>>392701
Что тебе кажется в нем "ебучим"? Я нихуя не кодер, но в свободное время забавляюсь этим как хобби. У JS пока самый наглядно-понятный синтаксис, как по мне.
#334 #392709
>>392701

>по сравнению с питоном.


По сравнению с этим уёбищем даже брэйнфак выглядит лучше. Просто ты нажрался говна в самом начале пути.
#335 #392713
>>392701
>>392704
Говноеды нашли друг друга.
#336 #392719
>>392709
>>392713
извини дебилушка но в js в самом деле уебищный синтаксис, еще раз извини что порушил твой мирок.
#337 #392736
>>392697
м.б. console.dir
111 Кб, 849x475
#338 #392745
Если не понимаю рекурсию и не могу написать Фибоначчи рекурсией то мне нехуй делать в программировании?
#339 #392751
>>392745
Программирование - растяжимое понятие. Зависит от того, чем ты хочешь заниматься. Для быдломакаки, клепающей формочки, такие вещи не нужны. Если не хочешь быть среди этих макак, коих 90%, подтягивай матан и что-нибудь дальше азов.
#340 #392756
>>392745
не обязательно. Поддержу >>392751
Рекурсия - вызов процедуры (функции) самой себя. На практике очень много косвенных рекурсий (функция А вызывает ф-ию B, та С, С вызывает А.) А вообще многоуровневых рекурсий стоит избегать, т.к. стек кушает, замедляет работу. Фибоначчи рекурсией решается только для примера.
#341 #392760
>>392745
Рекурсию понять не сложно, особенно людям знакомым с математикой.
Вот ты хочешь числа фибоначчи например.
Идем на вики, смотрим определение.
F(0) = 0, F(1) = 1, F(n) = F(n - 1) + F(n - 2)
Записываем то же самое но кодом:

f 0 = 0
f 1 = 1
f n = f (n - 1) + f (n - 2)

вот и все, вся рекурсия
http://ideone.com/1pe5Fb
#343 #392768
>>392762
хаскель это ML-подобный язык, простой и понятный для математиков. К сожалению исторически сложилось так, что сейчас в мейнстриме машинные языки типа C++, которые созданы для компьютера, а не для человека. Новички просто охуевают от их нелогичности и идиотизма, а олдовые байтоебы постят кулфейсы и говорят что программирование дано не каждому. Конечно если 10 лет лизать жопу машине то в конце концов привыкнешь и это будет казаться естественным и логичным положением вещей.
#344 #392798
>>392768
Нет, хаскель - hope/miranda подобный, ml - другое семейство. Вот scala - вполне себе новый его представитель, и системой типов, и идеологически, и даже синтаксически во многом.
12 Кб, 338x243
10 Кб, 319x360
219 Кб, 662x807
#345 #392899
Короче я не смог в Фибоначчи. Я понимаю, как это должно работать и частично понимаю как это все должно работать, но вот смотрю в код и вижу гомонигру.
Конечно я разобрался в конкретной функции, через дебаг консоль (ф12 хром + включенные Брикпоинты).
Возможно я не до конца понимаю что такое Рекурсия (остаток в уме) и как JS вообще выполняет код. Просто он как-то хуй пойми скачет и видимо это в рекурсии такое.

Короче ебанука я лерн.жаваскрипт.ру с самого начала вчитываясь в каждую блядскую букву. Хотя это хобби и такими темпами базовый уровен ЖС говнокодера я получу года через 1,5.
#346 #392903
>>392899
ну вот нет же тут никакой рекурсии, зато есть цикл.
вот тебе с рекурсией:

function fib(n) {
switch(n) {
case 0: return 0;
case 1: return 1;
default: return fib(n - 1) + fib(n - 2);
}
}

о чем я и говорил, императивные программы с переменными и циклами нихера не просто понять, если мозг не загажен школьным курсом информатики
75 Кб, 540x543
#347 #392904
>>392899
я тебе рекурсию принес, братишка
#348 #392907
>>392903
Я знаю что через цикл. Ты лучше напиши как Фибоначчи работает.
Что-то я хуй опять понял что.
Оно по частям считает каждое ф(н-1), (н-2).
Сука.
46 Кб, 453x604
#349 #392908
>>392904
Спасибо.
#350 #392917
>>392899
Если хочешь научиться всяким рекурсиям и т.п. нужно читать SICP и курсы по ФП на курсере, а не сайт про синтаксис js или про что он там?
#351 #392922
>>392907
ну епта как работает, по определению каждое число фибоначчи это сумма его предыдущих членов, вот так и работает
т.е. допустим надо вычислить fib(3)
fib(3) = fib(1) + fib(2)
fib(1) мы знаем это 1
fib(2) = fib(0) + fib(1)
тогда
fib(3) = fib(1) + (fib(0) + fib(1))
fib(3) = 1 + (0 + 1)
fib(3) = 1 + 1
fib(3) = 2
это с рекурсией, с циклом по другому
там переменные просто называются a b с и это тебя путает
т.е. там на каждом шаге цикла есть a и b - 2 последние числа в последовательности
вычисляется c = a + b - следующее число последовательности
потом a и b как бы сдвигаются вправо на один элемент последовательности
и все это повторяется пока в b не будет элемент последовательности с номером n
36 Кб, 465x566
#352 #392945
>>392922>>392917
Спасибо.
С циклом я понимаю сам, да.
Просто я как-то и понимаю, и не понимаю одновременно. Готовый пример могу разобрать, вот как с сайта. Схематично на бумаге или через дебаг разобрать, а написать самому - хуй напишу.
Но для второго дня изучения хватит. Еще раз спасибо.
#353 #392953
>>392945

на вот примерчик. Только с факториалом.

function factorialis(n) {
var who = 'F(' + n + '): ';
console.log(who + 'Вход в функцию factorialis с параметром n = ' + n);
if (n == 0) {
console.log(who + 'Факториал от 0 равен 1');
console.log(who + 'Вернёмся обратно с результатом "1"');
return 1;
} else {
console.log(who + 'Сейчас мы вычислим факториал от ' + n);
console.log(who + 'n! = n (n - 1)!, т.е. ' + n + '! = ' + n + ' (' + n + ' - 1)! = ' + n + '! = ' + n + ' ' + (n - 1) + '!');
var res = n
factorialis(n - 1);
console.log(who + 'Вычислили! Факториал от ' + n + '! равен ' + res);
console.log(who + 'Вернёмся обратно с результатом "' + res + '"');
return res;
}
}

Всё это в консоль. А после:
factorialis(5):

В консоли будет всё необходимое для понимания
sage #354 #393091
>>385174
JS самый тупорылый язык веба.
#355 #393118
ребят, сегодня начал знакомится с AngularJS - очень понравилось, то что с помощью его делают ,вот хотел уточнить Angular -это замена для jQuery или дополнение? Только начал изучать js, нужно ли осваивать jQuery или сразу Angular?
#356 #393120
>>393118
Ни замена ни дополнение. Вообще никакой связи. jQuery медленный, его поменьше надо использовать.
#357 #393126
>>393118
Ангуляр сразу не осилишь. Там много асинхронщины и наследований, нужно более-менее уметь в js чтобы делать что-то сложнее хелоуворлда.

Но можешь почитать какой-нибудь ng-book и попробовать. Как только заебет это дело, начнешь делать школоэффекты с jquery и изучать язык.
#358 #393156
>>393126
к слову, а что значит префикс ng- который они везде пихают?
#359 #393158
>>393156
Angular, я подозреваю. Просто удобное сокращение для директив.
#360 #393167
А что скажете про Ext.js? Посмотрел примеры, понравились сложные гриды всякие.
#361 #393172
>>393158
Почему не an? А, понял.
#362 #393272
>>393172
ng - neon genesis, это значит, что ангуляр - технология будущего.
#363 #393275
>>393272
ng - nu i gavno, это значит, что ангуляр - говно
#364 #393327
>>393172
Да не, просто an.us/an.al некрасиво звучит.
#365 #393471
Стоит ли для лучшего понимания и вникания в суть js знать другие языки (как то ява или кресты)?
Или яваскрипт полностью самодостаточен и полному нубу в программировании можно его начинать учить?
#366 #393511
>>393471

>полному нубу в программировании


не стоит, лучше SICP прорешай
sage #367 #393523
Как понять прототипное наследование в джаваскрипте?
#368 #393565
>>393523
Да как хочешь, так и понимай, пидор ебаный!
Посмотри урок от hexlet на ютубе, базарю еще захочешь.
#370 #393597
>>393585
Java потолще должна быть вроде как.
#371 #393614
>>385174
Почему невозможно найти чисто программистскую работу на JavaScript?
Ведь обязательно в комплекте верстать?...
Что надо, чтобы работать просто программистом JavaScript?
#372 #393617
>>393614
Ищи NodeJS developer (back end)
#373 #393619
>>393617
Насколько помню, в вакансиях это обычно приложение к чему-то еще: вебмастер + знание node, java-программист + знание node и т.п. И при этом обязательно опыт 3+ лет.
Аноним #374 #393642

>>undefined


>undefined


undefined undefined, undefined undefined undefined. undefined undefined undefined, undefined undefined. undefined undefined undefined undefined. undefined undefined. undefined undefined undefined, undefined undefined. undefined? undefined undefined? undefined undefined.
sage #375 #393658
Рака вам, уебки, за то, что из-за вас это говно стало популярно.
#376 #393660
#377 #393661
>>393658

>из-за вас


Ничего не попутал. Яваскрипту больше лет, чем твоим волосам на лобке.
#378 #393663
>>393658
Говна пожуй, школьник
sage #379 #393665
>>393661
Пришло время напомнить, что the by-design purpose of JavaScript was to make the monkey dance when you moused over it. Scripts were often a single line. We considered ten line scripts to be pretty normal, hundred line scripts to be huge, and thousand line scripts were unheard of. The language was absolutely not designed for programming in the large, and our implementation decisions, performance targets, and so on, were based on that assumption. Since JavaScript was specifically designed for programs where one person could see the whole thing on a single page, JavaScript is not only dynamically typed, but it also lacks a great many other facilities that are commonly used when programming in the large:

There is no modularization system; there are no classes, interfaces, or even namespaces. These elements are in other languages to help organize large codebases.
The inheritance system -- prototype inheritance -- is both weak and poorly understood. It is by no means obvious how to correctly build prototypes for deep hierarchies (a captain is a kind of pirate, a pirate is a kind of person, a person is a kind of thing...) in out-of-the-box JavaScript.
There is no encapsulation whatsoever; every property of every object is yielded up to the for-in construct, and is modifiable at will by any part of the program.
There is no way to annotate any restriction on storage; any variable may hold any value.
But it's not just the lack of facilities that make programming in the large easier. There are also features that make it harder.

JavaScript's error management system is designed with the assumption that the script is running on a web page, that failure is likely, that the cost of failure is low, and that the user who sees the failure is the person least able to fix it: the browser user, not the code's author. Therefore as many errors as possible fail silently and the program keeps trying to muddle on through. This is a reasonable characteristic given the goals of the language, but it surely makes programming in the larger harder because it increases the difficulty of writing test cases. If nothing ever fails it is harder to write tests that detect failure!

Code can modify itself based on user input via facilities such as eval or adding new script blocks to the browser DOM dynamically. Any static analysis tool might not even know what code makes up the program!

And so on.
sage #379 #393665
>>393661
Пришло время напомнить, что the by-design purpose of JavaScript was to make the monkey dance when you moused over it. Scripts were often a single line. We considered ten line scripts to be pretty normal, hundred line scripts to be huge, and thousand line scripts were unheard of. The language was absolutely not designed for programming in the large, and our implementation decisions, performance targets, and so on, were based on that assumption. Since JavaScript was specifically designed for programs where one person could see the whole thing on a single page, JavaScript is not only dynamically typed, but it also lacks a great many other facilities that are commonly used when programming in the large:

There is no modularization system; there are no classes, interfaces, or even namespaces. These elements are in other languages to help organize large codebases.
The inheritance system -- prototype inheritance -- is both weak and poorly understood. It is by no means obvious how to correctly build prototypes for deep hierarchies (a captain is a kind of pirate, a pirate is a kind of person, a person is a kind of thing...) in out-of-the-box JavaScript.
There is no encapsulation whatsoever; every property of every object is yielded up to the for-in construct, and is modifiable at will by any part of the program.
There is no way to annotate any restriction on storage; any variable may hold any value.
But it's not just the lack of facilities that make programming in the large easier. There are also features that make it harder.

JavaScript's error management system is designed with the assumption that the script is running on a web page, that failure is likely, that the cost of failure is low, and that the user who sees the failure is the person least able to fix it: the browser user, not the code's author. Therefore as many errors as possible fail silently and the program keeps trying to muddle on through. This is a reasonable characteristic given the goals of the language, but it surely makes programming in the larger harder because it increases the difficulty of writing test cases. If nothing ever fails it is harder to write tests that detect failure!

Code can modify itself based on user input via facilities such as eval or adding new script blocks to the browser DOM dynamically. Any static analysis tool might not even know what code makes up the program!

And so on.
28 Кб, 200x200
sage #380 #393667
>>393665
Теперь это официальнай ОП-пикча джаваскрипт тредов
#381 #393674
>>393660

>Invalid date

#382 #393677
>>393658
Это уже не говно
#383 #393682
>>393665
Ну давай разберем по частям тобою написанное.

>by-design purpose of JavaScript was to make the monkey dance when you moused over it


ну а теперь на нем пишут фреймворки

>There is no modularization system


модули можно сделать, в ES6 есть из коробки

>there are no classes


делаются в 2 строчки, в ES6 есть из коробки

>interfaces


кукареку жава макаки

>namespaces


объект это неймспейс

>prototype inheritance -- is both weak and poorly understood


баттхерт неосилятора

>every property of every object is yielded up to the for-in construct


пиздеж

>and is modifiable at will by any part of the program


пиздеж

>any variable may hold any value


гугл://динамическая типизация

>Therefore as many errors as possible fail silently


наглый пиздеж

>Code can modify itself based on user input via facilities such as eval or adding new script blocks to the browser DOM dynamically


звучит как фича

>And so on


and soo snool
#383 #393682
>>393665
Ну давай разберем по частям тобою написанное.

>by-design purpose of JavaScript was to make the monkey dance when you moused over it


ну а теперь на нем пишут фреймворки

>There is no modularization system


модули можно сделать, в ES6 есть из коробки

>there are no classes


делаются в 2 строчки, в ES6 есть из коробки

>interfaces


кукареку жава макаки

>namespaces


объект это неймспейс

>prototype inheritance -- is both weak and poorly understood


баттхерт неосилятора

>every property of every object is yielded up to the for-in construct


пиздеж

>and is modifiable at will by any part of the program


пиздеж

>any variable may hold any value


гугл://динамическая типизация

>Therefore as many errors as possible fail silently


наглый пиздеж

>Code can modify itself based on user input via facilities such as eval or adding new script blocks to the browser DOM dynamically


звучит как фича

>And so on


and soo snool
#384 #393690
>>393682
Если в языке есть более одного общепринятого подхода к таким базовым вещам как модули и ОО-система, этот язык накладывает огромное пенальти на код-реюз и плодит impedance mismatch на каждом шагу. Эти проблемы даже ужаснее динамической типизации, но лично мне даже её одной достаточно, чтобы стремиться как можно сильнее изолироваться от необходимости иметь дело с такими ЯП.
#385 #393694
>>393682
Маняотрицания html-программиста
#386 #393698
>>393690

> более одного общепринятого подхода к таким базовым вещам как модули и ОО-система


где написано про более одного общепринятого подхода? правильно, нигде, фантазер

>ужаснее динамической типизации


зато можно хуяк хуяк и в продакшен сучечка, к тому же если у тебя что-то слабее haskell или scala то ты заебешься писать абстрактные фабрики декораторов
#387 #393703
>>393690

>There should be one-- and preferably only one --obvious way to do it.

#388 #393706
>>393698

> где написано про более одного общепринятого подхода?


Я не имею права оперировать фактами о JS кроме указанных в твоём посте? Это какая-то игра? В ангуляре своя система модулей, в requirejs своя, в новом ecmascript своя, а и ещё десятки их. Это создаёт несовместимости между библиотеками на ровном месте. И это только модули, а уж разные ОО-системы... Бакбон, ембер, extjs, prototype, и сотни ещё - в каждой второй либе своя, и разумеется, если ты скормишь типичный инстанс объекта либы 1 в метод либы 2, который ожидаёт свои объекты со своей ёба рефлексией или своим уникальным подходом к super-вызовам, всё развалится.

> если у тебя что-то слабее haskell или scala то ты заебешься писать абстрактные фабрики декораторов


Оправдания динамопарашников. Даже старая Java после JS - как глоток свежего воздуха, такой-то методизм, абстракция, реюз. Современные редакции Java EE (7) и Spring доводят аннотации до такого уровня, что бойлерплейта зачастую меньше, чем во всяких питонах, а качество, реюзабельности, понятность кода и самодокументируемость его сигнатурами при этом намного выше. А гляди, как джависты сейчас врапперы для REST API генерируют, описывая минимальную нужную информацию аннотациями: http://square.github.io/retrofit/
121 Кб, 950x648
#389 #393707
>>385174

> на JS можно делать игры


> делать игры и приложения для телефонов


Пикрелейтед
#390 #393710
>>393706
что-то ты многовато знаешь для хейтора, ты бывший js-макак?

>десятки


>сотни


не преувеличивай
я например в своем проекте на кофискрипте использовал Backbone.Events без самого бекбона как миксин к классам

>Java


>глоток свежего воздуха


ох пиздец, я помню как в жаве банальный мап делается, такой-то бойлерплейт

>аннотации


костыли, та же самая динамика нечекаемая при компиляции
#391 #393722
>>393710

>я например в своем проекте на кофискрипте использовал Backbone.Events без самого бекбона как миксин к классам


ну ты и хипстер
#392 #393730
>>393722

>хипстер


нет, макбука нет, маффины не люблю, в стартапах не участвую
делаю игрушки в одного как Бобров, в которые никто не играет
23 Кб, 300x316
#393 #393737
>>393706

>http://square.github.io/retrofit/


В жаба мирке это теперь

>описывая минимальную нужную информацию аннотациями

#394 #393752
Пасаны нужен ваш совет.
Есть 2 стула , на одном javascript дроченый(текущая работа, клиент+сервер) , на другом java точеная.
На какой сесть?
От фронтенда воротит, а как я понимаю основное развитие js разработчика это именно в сторону фронтенда.
#395 #393757
>>393737
Школотуня, ты хоть видела, сколько для аналогичного враппера хуеты надо писать вручную на питоне?
https://github.com/copitux/python-github3/blob/master/pygithub3/services/repos/__init__.py#L45
https://github.com/copitux/python-github3/blob/master/pygithub3/services/base.py#L42
https://github.com/copitux/python-github3/blob/master/pygithub3/requests/base.py#L94
Обрати внимание, этот код - не аналог либы retrofit, это чисто специфический API враппер только и исключительно для гитхабовского API.
То, что на божественной жабке делается при помощи обобщённой библиотеки в 4 строки (+ описание модели Repo) http://pastebin.com/5u12LwBP, на питоне (тоже без учёта Repo), потребует 100500 loc ручной работы и десятки фабрик адаптеров.
#397 #393763
Причём то, что в жабке делается типобезопасно и самодокументированно в 4 строки, на питоне займёт 100500 loc петушиного тормозного и глючного кода, разваливающегося в одних местах по вторникам, а в других в зависимости от фазы луны.
#398 #393766
Хочу, чтобы мой код выглядел единообразно и красиво, но получается яваскрипт.

Скажем, я пытался так {
}
и сяк
{
}

Но таки не пришёл к лучшему решению. Как вы ставите {} скобки и самое главное ПОЧЕМУ?
#399 #393776
>>393766
Делай {
}

иначе дуглас тебя выебет нахуй.
#400 #393782

>>39376


Очевидно, что {
}
для ёбаных говноедов. Правильные пацаны делают
{
}
и как можно больше пустых строк.
#401 #393784
>>393766
Открывающий курлибрейс с новой строки пишут только дуднетчики, что вполне закономерно, ведь у них всё через жопу - и методы с пропертями с большой буквы пишут так же как типы, и какие-то встроеные бойлерплейтные мультикасты пердолят вместо первоклассных Event<T>, и вместо Future[T] монад ебутся с петушиными некомпозабельными Task<CocyXyi> и многое другое.
sage #402 #393791
>>393782
Потом ебись с неожиданными результатами, ага.
#403 #393817
>>393791
ШИТО?

>>393784
В любом языке пишу скобку с новой строки. На той же строке открывают только дрочеры на компактность, любители плотных как стена, вырвиглазных блоков, в которых код выделяется только за счёт выравнивая. Нормальные пацаны же выделяют куски кода как выравниванием, так и пустыми строками, одной скобкой на строке и т.д.

Ещё ненавижу когда экономят на пробелах перед и после операторов и вообще на всем, как будто стремясь заполнить каждое пустое место. По моей личной статистике, таких, среди любителей открывать скобку на той же строке куда больше.
#404 #393818
Анон, вот есть создание некоторого объекта: new dom.Animation(...) ?
Тут, как я понимаю, мы сначала делаем пустой объект dom = {}, а потом добавляем метод Animation. Не легче сразу сделать "класс" Animation и как обычно добавить ему методы?
#405 #393819
>>393818
И еще вопрос в догонку. Может ли аргумент в конструкторе получить доступ к данным этого конструктора?
#406 #393820
>>393818
неправильно ты понимаешь
если хочется без префикса делай так:
var Animation = dom.Animation;
new Animation()
sage #407 #393833
>>393817
http://stackoverflow.com/questions/3641519/why-does-a-results-vary-based-on-curly-brace-placement

Ты наверное еще табуляцию используешь вместо пробелов?
#409 #393837
>>393167
Его для проектов с базами данных хорошо использовать. На ура идёт в гос учреждениях) Те же формочки, только в браузере. Но он медленный, нужно знать, как обратиться к элементу, чтоб не затормозить систему линий раз
#410 #393838
>>393707
Зато кроссплатформенный и не надо никаких виртуальных машин/анальных прошивок и прочего дерьма.
#411 #393839
>>393833
>>393836
А, ну тогда да. Я просто никогда не объявляю объект прямо в ретёрне, за исключением мелких, которые помещаются в одну строку.

>Ты наверное еще табуляцию используешь вместо пробелов?


А у этого в JS тоже есть подводные камни?
#412 #393840

>А у этого в JS тоже есть подводные камни?


Нет, это был сарказм.
Хотя пробелы > табуляции, потому, что при копипасте не распидорашивает код.
#413 #393865
>>393817
a) function(a)
b) function (b)
sage #414 #394021
isUndefined_.isUndefined(value)
Returns true if value is undefined.

isNull_.isNull(object)
Returns true if the value of object is null.

isNaN_.isNaN(object)
Returns true if object is NaN.
#415 #394032
>>393817

>В любом языке пишу скобку с новой строки.


Если в js надо вернуть объект, пишешь
return
{
a:'b';
}
? Тогда у меня для тебя плохие новости.
sage #416 #394048

>then most readers will think that block level variables will be defined. JavaScript don't have block level variables. All variables will be interpreted as function level defined.

#417 #394052
>>394048
Ну что ты тут кому доказываешь? Пиздуй пиши на своем любимом хацкиле, мамин борщехлеб.
sage #418 #394094

>var self = this;

#419 #394112
Кто-нибудь пробовал asm.js?

>Q. Why not NaCl or PNaCl instead? Are you just being stubborn about JavaScript?


>A. The principal benefit of asm.js over whole new technologies like NaCl and PNaCl is that it works today: existing JavaScript engines already optimize this style of code quite well. This means that developers can ship asm.js today and it'll simply get faster over time. Another important benefit is that it's far simpler to implement, requiring very little additional machinery on top of existing JavaScript engines and no API compatibility layer.



Кажется мозилла меня убедила, но как сие чудо выглядит и как хеллоуворлднуть?
72 Кб, 605x605
#420 #394134
Джаваскриптокидисы, а как вы контролируете состояние? Колбеки не заебали? А что есть из стандартизованного против такого гемороя?
6 Кб, 183x275
#421 #394136
>>394134

Почти всегда пользуюсь такой хернёй, всё работает отлично. Состояние держим в переменной, всё дерево возможных колбэков в одном замыкании. @ РАБОТАЕТ.

var busy=false;
HUITA.onclick=function(){
if (busy) return;
busy = true;
AJAX.request({
...
oncomplete: function(){ busy = false; }
});
}
#422 #394144
>>394136
Ох, лол. Знаешь толк в извращениях.
#423 #394145
>>394144

>Знаешь толк в извращениях.


Не я один. Велком в жаваскрипт джунгли.
#424 #394147
>>394144
Разве это не самое простое и лобовое решение? Без изучения философии промисов и прочего?
#425 #394149
>>394147
Промисы тут вообще не при чём, это другая монада.
#426 #394153
>>394149
Почему же ни при чём? Всё о том как справиться с уходом в колбэк.
#427 #394155
>>394153
Вообще-то тут обсуждали распространение состояния (и его изменений) по коду, а промисы - это о вычислениях, которые, если повезёт, как-нибудь выполнятся, и вернут какой-то результат.
#428 #394159
>>394155

>распространение состояния (и его изменений) по коду


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

>о вычислениях, которые, если повезёт


В общем случае да, но в жс это в основном применяется для запуска чего-нибудь, что вызовет колбэк. По крайней мере фронтэндный жс.
#429 #394162
>>394159

> для запуска чего-нибудь, что вызовет колбэк


Просто интересно, функцию map для массивов в жс ты тоже считаешь промисом? Твоему "определению" удовлетворяет.
Промис в жс - это композабельное асинхронное вычисление, которое может зафейлиться, а может завершиться успешно и вернуть значение. Комбинируется как-раз по успехам (по функции, принимающей результат успешного выполнения промиса и возвращающей отображенный результат или (А+) новый промис).
#430 #394163
О чём трёп? js-макам таки завезли монады и monad comprehension?
Или всё ехал коллбек через коллбек?
#431 #394166
>>394163
Давно уже. Просто делаешь func.toString, заменяешь все "varname <- expr" на монадические связывания, и обратно компилируешь eval'ом: http://habrahabr.ru/post/232671/
#432 #394167
>>394162
для запуска чего-нибудь, что вызовет колбэк

а не

то что запускает колбэк

Демагог ты мамкин.
#433 #394168
>>394166
В комментах ссылки интереснее статьи http://livescript.net/#functions-backcalls
Такая то адовая помесь хачкеля с f# и ещё какой-то хуитой
А у нас на работе народ тоже этот js заебал в конец, начинают дрочить на TypeScript потихоньку
#434 #394170
>>394168
Да нормально всё с js. Для скорости и компиляции из других языков есть asm.js, в статьях пишут что проседание скорости по сравнению с C/C++ порядка 1.5-2x. Для мелких поделок, где чаще всего жс и применяется - он почти идеален.
#435 #394406
>>394170

> Для мелких поделок, где чаще всего жс и применяется - он почти идеален.


Ну так видишь, что он пишет "народ js заебал вконец". Следовательно у них не мелкие поделки, поэтому на ts переходить вполне рационально.

> В комментах ссылки интереснее статьи http://livescript.net/#functions-backcalls


Такая то адовая помесь хачкеля с f# и ещё какой-то хуитой
Такими хуитами хорошо пользоваться для того, чтобы потом вернуться в хачкель и вздохнуть "как же хорошо, что в хачкеле есть типы!"
67 Кб, 480x373
#436 #394408
Что скажете насчёт кофескрипта? Какие у него перспективы?
70 Кб, 360x239
#437 #394416
#438 #394419
Первые впечатления от кофе.

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

if a > 0 return 0
нужно заменять на
if a > 0 then return 0

Внутри класса нужно делать
property: value
method: (args...) ->
вместо моего наобумного
@property = value
@method = (args...) ->
Хотя это можно всё вставить в constructor и будет работать.

Стрелочки как я понял всегда ->, кроме случая когда нужно забиндить функцию на текущий this, тогда =>.

Вызов функции без аргумента:
fn()
В принципе всё можно вызывать по старинке:
fn(1, 2, 3) # пробел перед скобкой ( лучше не ставить
А можно убрать скобки
fn 1, 2, 3
Главное иметь ввиду что съедается весь остаток выражения
fn 1 + 2 + 3 = fn(1+2+3)

Классы сделали всё красивее и на радость заработали без проблем с обычным ковырянием Class.prototype (со старым кодом короче).

Смущает только что каждое выражение очень хочет залезть в return. Не очень страшно, но вот лишняя сборка списка из цикла может покалечить производительность. Нормальные посоны пишут явный return в таких случаях или оставляют на самотёк?
#438 #394419
Первые впечатления от кофе.

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

if a > 0 return 0
нужно заменять на
if a > 0 then return 0

Внутри класса нужно делать
property: value
method: (args...) ->
вместо моего наобумного
@property = value
@method = (args...) ->
Хотя это можно всё вставить в constructor и будет работать.

Стрелочки как я понял всегда ->, кроме случая когда нужно забиндить функцию на текущий this, тогда =>.

Вызов функции без аргумента:
fn()
В принципе всё можно вызывать по старинке:
fn(1, 2, 3) # пробел перед скобкой ( лучше не ставить
А можно убрать скобки
fn 1, 2, 3
Главное иметь ввиду что съедается весь остаток выражения
fn 1 + 2 + 3 = fn(1+2+3)

Классы сделали всё красивее и на радость заработали без проблем с обычным ковырянием Class.prototype (со старым кодом короче).

Смущает только что каждое выражение очень хочет залезть в return. Не очень страшно, но вот лишняя сборка списка из цикла может покалечить производительность. Нормальные посоны пишут явный return в таких случаях или оставляют на самотёк?
183 Кб, 1500x1125
#439 #394463
Ебанись на отличненько, аноним.

http://habrahabr.ru/post/199456/
#440 #394494
>>394419
ценитель кофе в итт

>Нормальные посоны пишут явный return в таких случаях или оставляют на самотёк?


да если функция не возвращает нихуя, пишу return в конце, тоже бесит такой костыль
44 Кб, 553x267
#441 #394530
Антошки, написал расширение для хрома, которое мониторит избранное и показывает количество непрочтенных тредов, зацените.

https://chrome.google.com/webstore/detail/2chmon/pabmeaclcedipfkkgnhkhohmgoajnbfm

Ссылка на гитхаб в описании, какого-то хуя она в спам-листе
#442 #394560
>>394530
Посмотрел сурс, припекло, нужно быть ебаным гением, чтобы такое написать.
мимо не умею в js
#443 #394578
>>394530
Замени табы на спейсы, а то все по пизде идет.
#444 #394593
>>394578
пофиксил
>>394560
Да ничего особенного, просто написано в функциональном стиле. Начал было писать в императивном с изменяемым состоянием повсюду и сразу охуел от количества багов и запутанности кода. Переписал, ограничив возможность изменять состояние и сразу все стало в разы проще.
#445 #394594
>>394593
Подскажи, что почитать и практиковать, чтобы научится произвольно писать подобный код. Я не могу написать ничего сложнее обработки событий на жыквери.
#446 #394608
>>394530
Проиграл с боли в исходниках
#447 #394614
>>394594
https://www.coursera.org/course/proglang
https://www.coursera.org/course/progfun
http://www.manning.com/bjarnason/
И программировать на одном из фунциональных языков. Даже можно вместо джаваскрипта использовать какой-нибудь фя, компилирующийся в него, например https://github.com/clojure/clojurescript или https://github.com/scala-js/scala-js тем самым качая навык программирования и выполняя полезную работу.
#448 #394632
>>394614
Спасибо, попробую сейчас. Кстати, я наверное все таки в своем вопросе подразумевал не саму функциональщину, а просто навык написания полезного кода, а не "сменить класс, подгрузить аяксом" и проч. Это я так понимаю мне на курсы по алгоритмам еще надо?
#449 #394642
>>394632
Функциональщна как раз поможет тебе писать такой код, ее принципы никто не мешает использовать в императивных языках. Курсы по алгоритмам дадут тебе понимание, как работают современные алгоритмы и как написать собственнный эффективный алгоритм с минимальной возможной сложностью. Задача на самом деле довольно частная и второстепенная, в веб-программировании почти не встречается, хотя минимальное понимание сложности алгоритмов все равно необходимо. Навык написания простого, безопасного и реюзабельного кода на то и навык, что приходит с опытом. Программируй, стараясь писать код, от которого получаешь удовольствие, а не хуяк хуяк и в продакшн, изучай чужой код, который тебе кажется таким. В принципе, первый курс в списке как раз объясняет подходы к программированию, которые помогут тебе обогатить багаж приемов, улучшаюших код. Можно, конечно, еще порекомендовать SICP, но я лично его не осилил. Вообще, первые два курса во многом построены на основе этой книги, даже некоторые задания взяты оттуда. Первый курс еще хорош тем, что твои задания будут оценивать другие ученики как раз по критериям простоты, оправданности и понятности кода, а это то, чего ты хочешь. Короче, рекомендую настоятельно, там как раз первая неделя только прошла.
#450 #394644
>>394632
Или я тебя не понял поять? Что значит полезный код?
#451 #394647
>>394642>>394644
Спасибо, значит буду проходить этот курс. Моя проблема в целом в том, что я типичная макака, которых полно, использую готовые решения, но сам сообразить как такое написать, не могу.
Тут я думаю проблема уже в том, что я просто туп для программирования, поэтому ничего и не получается толком. Как пример, вот ты написал дополнение к хрому, я поглядел сурс, там полно js ок, внутри которых куча непонятных мне вещей, и еще больше не понятно как они взаимодействуют друг с другом, да я даже чертов калькулятор наверное не напишу. Надо вот щас попробовать.
#452 #394656
>>394647
Ну? я тоже бы не понял как это взаимодействует до того, как почитал документацию по api хрома для дополнений. Там вся архитектура делится на четыре уровня: непосредственно загруженная во вкладке страница (hook.js), popup.js, contentscript.js и background.js. contentscipt.js запускается при каждой загрузке страницы, а background работает постоянно в одном экземпляре, popup это окошечко, которое появляется при нажатии на иконку дополнения. Общение между ними происходит через сообщения, отправляемые с помощью chrome.runtime.sendMessage(), принимаются сообщения через колбек chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){...}). Исключение только для самой страницы, оттуда сообщения отправляются с помощью window.postMessage.
#453 #394867
>>392245
Слышал, что Angular более сложный и начал с него. Две недели умывался слезами перечитывая по 15 раз мануалы, туториалы и документацию, но всё таки более или менее разобрался.
Теперь получил задание разбираться с Backbone (а точнее - с Marionette,js попутно разбираясь с Backbone и всё это на CoffeeScript). После Angular'а всё очень непонятно, не знаю, с какой стороны подступиться.

мимо-неосилятор
#454 #394892
>>394867

>Две недели умывался слезами перечитывая по 15 раз мануалы


Вот это очень точно сказано. На хабре вот ещё:

>За всю мою карьеру, единственная платформа которая приблизилась по уровню мучений при попытке расширить ее, это серверные элементы управления в ASP.net WebForms.


Из своего опыта помню, что коллеги еблись с ним знатно, пока подключили ссаный rest интерфейс.
#455 #394894
Жопа. Для работы нужно освоить knockout, а для себя хочется марионет.
#456 #394897
Жопа, это когда могешь в ангуляр, но работы нет никакой, вообще.
#457 #394902
>>394897
Странно, может ты в глаза ебёшься? В Украшке вакансий хватает, а в Рашке - так вообще навалом. Разве что ты в совсем забитой деревне какой.
#458 #394907
>>394902
Реально ли найти в Рашке удаленку в этом направлении ? Постоянно мониторю brainstorage и hh, но пока не густо.
#459 #394910
>>394907
Конечно реально. Где-то месяц назад одну вакансию вбрасывали прямо на двач, лол.
http://freelansim.ru/tasks?q=angular
http://brainstorage.me/jobs?q=angular
http://hh.ru/vacancy/11908919?query=angular
http://hh.ru/vacancy/11842646?query=angular
и ещё куча (фильтр слева поставь "удалёнка")
#460 #394911
>>394907
>>394907
Odesk.com и нахуй рашку
#461 #394913
>>394910
Охуеть. Сменить штоле работу. Нахуя я тогда петон учил. Мне что нравится во фронтэндерах, что думать надо мало, видимых результатов много, и можно заниматься хтмл-ксс-жс, а остальное принеси-подай слать в хуй. Набирать и кликать только много придётся.
#462 #394916
>>394910
На фрилансим смотрел, все заказы были сделаны 2-3-4-5-6-7-8 месяцев назад. Ничего даже недельного нету.
На брейнстордж - все либо мосцква и питер в офис, либо нужно знать еще кучу бекенда. Там тоже искал.
На hh сру сейм щит проблема.
>>394911
Там чисто ангуляр уже никому не нужен, только полный стак с бекендом.
алсо

>Разве что ты в совсем забитой деревне какой.


This (150k население)

Короче, проблема во мне. Надо без денег ехать в большой город, и еще прокачать скиллы, выучить какой нибудь язык серверный. И тогда может быть смогу 100-200 баксов иметь в месяц. А пока что я ем блины со сметаной, бабушка сделала.
Говорила мама, не иди в погромисты, иди на завод, вон все мальчики щас на заводе работают, а кампутерщики тут не нужны
#463 #394919
>>394910
>>394911
Вот проблема номер 1 в поиске работы вообще - необходим коммерческий опыт реализации систем на angular, а где его взять ? Фриланс не хочу из-за необходимости тратить часть времени на поиск заказов и неопределенности в плане денег.
#464 #394985
Пасаны поясните пожалуйста за перспективы js разработчика,только ли front-end. Сейчас на работе юзаю ноду и ангуляр. Есть возможность уйти на java программиста.Что перспективе интереснее в материальном плане , и плане задач? (К слову верстать терпеть не могу).
#465 #394990
>>394985

Забыл , в наличии еще хороший английский. Есть ли смысл дальше задрачивать js , чтобы попасть на odesk? Или там и так конкуренция бешеная.
#466 #394991
>>394985>>394990
Я бы на твоем месте с такими знаниями шел дальше по front-end пути, больше свободы, а денег не меньше чем у офисного джависта.
Алсо, дико завидую всем кто может в ноду и ангуляр. Я сколько раз не пытался учить, ничего не получается. Может дашь советов мудрых? Как сам качал скилл в этом? Что писал, и что читал?
#467 #394992
>>394991
Поставь себе задачу реализовать что-нибудь на ноде и ангуляре, классика - своя макаба. И реализовывай. Так и обучишься.
#468 #394993
>>394992
Да, я уже ставил себе задачу, написать подобие твиттера, но застопорился на этапе, где надо загрузить аватарку, и чтоб она сразу отобразилась, ну и возможность ее удалять.
А учебные материалы ты какие использовал? И чем занимаешься на работе, что пишут на ноде и ангуляр для продушкена в раше?
#469 #394996
>>394991

По ноде в основном форумы + документацию.
По ангуляру различные статейки западных фронтендеров по ней , + ng-book.(Ибо на мой взгляд официальные доки ангуляра очень путано написаны для новичка)
Ну и плюс с работой фортануло , ибо попал в нужный момент , когда нужны были люди которые могут хоть какой-либо код писать , т.е по сути обучался по ходу работы (да и сейчас обучаюсь что уж там).
#470 #394997
>>394996
Дай угадаю, ты из ДС/ДС2?
А если я из пиздозалупинска, где искать подобное?
#471 #394998
>>394997
Понаехать в ДС/ДС2, если конечно возможно.
#472 #395000
>>394998
Я из села. Работы нет, бабла нет, возможности заработать нет, возможности уехать нет.
Хотя ладно, вру, заработать 300 долларов за месяц вполне реально, но они уходят на жизнь. Так что скорее всего вся моя жизнь не удалась уже.
#473 #395015
По поводу изучения Angular дичайше рекомендую бесплатный курс от CodeSchool. Он очень простой по сравнению с блядским туториалом на оффициальном сайте.
После него читайте angular style от John Papa или Todd Moto. Вообще, читайте Тода, он крутой парень и много пишет про Angular. Вот, например, http://www.airpair.com/angularjs?ti=#MxkrVCfYlQfeQLBy.99
#474 #395189
Вопрос от ньюфага.
У меня есть код http://jsfiddle.net/4suou1ok/
Мне нужно значение переменной damnVariable использовать в глобальной области видимости. Как это делается, отцы-основатели? У Брендона Айка уже спрашивал- пока не отвечает.
#476 #395194
>>395191
попробовал http://jsfiddle.net/4suou1ok/2/
результат undefined, а не 23. ЧЯДНТ?
#477 #395199
>>395194
ты тупой просто, ты функцию то вызвал? ты знаком понимаешь как работают калбаки в джс?
#478 #395202
>>395199
вызывал я функцию, она свою работу делает, а вот значение переменной из неё я достать не могу чтоб использовать в другой функции
#480 #395204
>>395203
спасибо большое за потраченное время. есть некоторые непонятные для меня элементы. буду разбираться и качать скил
#481 #395205
>>395202
У тебя код в глобальном скопе выполняется раньше, чем display дергает коллбек. Вызывай свою другую функцию из коллбека display или передавай в первую функцию коллбек(как снизу сделали тебе) или используй цепочку из promise.
#482 #395208
>>395205
спасибо, ребят. Почитаю на learn.javascript про коллбэки- большущий пробел у меня в этом-не понимаю я вас и ваш код понять пока не могу.
коротковат пока мой скилл
54 Кб, 600x335
#484 #395232
Делаю подобие чата для экспириенса, новые посты добовляются через ajax. В них есть разные кнопки, типа скрыть пост, спойлер, вся фигня. Как сделать чтобы правила распространялись и на них? Так требуется перезагрузка чтобы они заработали. Вот допустим есть:
$(".post-content .spoiler-head").click(function() {
\t$(this).parent().find(".spoiler-content").slideToggle("fast");
});
Как сделать чтобы и на новые посты он тоже работал?
#485 #395237
>>395232
Гуглится за 0.5 минут
$('.post-content').on('click', '.spoiler-head', function () {
// ...
});
#486 #395244
>>395229
Да всем похуй уже на ангуляр этот, все нормальные поцоны на реакт перешли
27 Кб, 852x480
#487 #395245
>>395237
Спасибо. Помогло:
$(document).on('click', '.post-content .spoiler-head', function () {
\t$(this).parent().find(".spoiler-content").slideToggle("fast");
});
#488 #395246
>>395245
Что эти $ значат ? Динамический код ?
#489 #395248
>>395246
jQuery
#490 #395348
>>385174
Я нихуя нуб вообще.
Бывший экономист, хочу кодить и рубить бабло.
Получится ли у меня это с JS, или мне податься в PHP?
Готов постепенно учиться, уже начал.
#491 #395351
>>395348
Спизди денег из конторы и вали на канары.
#492 #395453
>>385243
Как там в 90-х? Без js сейчас даже веб-интерфейсы интернет-банков не работают.
#493 #395456
>>395453
И без java, и еще они заставляют заходить только с ИЕ 8.
#494 #395553
>>395229

>What I would recommend instead of Angular.js?


>перечисляет 7 либ, которые нужно использовать вместе


Он не охуел?
#495 #395872
Нашёл, как мне кажется, полезную книгу. Совершенно бесплатно.
http://addyosmani.com/resources/essentialjsdesignpatterns/book/ оригинал
http://largescalejs.ru/ русек
#496 #396006
>>385232
Все так. Многое правится стрикт модом и ES6
#497 #396015
>>395553
Весь цимес в том, что он - автор одной из этих 7 либ!
#498 #396042
Что скажете за связку jquery + underscore + backbone + knockback + knockout? Звучит всё так, будто бы уже стандарт де-факто, наряду с бутстрапом. В то же время, насколько массово это используется?
#499 #396052
>>396042
Лучше zepto+underscore+backbone+marionette.
Хотя кто во времена Энгуляра будет использовать бэкбон?
#500 #396058
Поясните за эмбер, ребята. Вроде todoMVC выглядит приятнее, чем на ангулар, какие подводные камни?
#501 #396105
Так всё-таки, ангуляр соснул или нет?
#502 #396153
>>396105
Нет и пока не может соснуть, т.к. это единственный нормальный фреймворк на js, ну и ExtJS ещё норм. Боли неосиляторов провайдеров фабрик, типа "верните мои нулевые когда я писал портянки на джиквери" никого смущать не должны. Пусть пытаются заменить единственный нормальный фреймворк доступными для их имбицильных мозгов быдлиотеками и убогим говном типа реакта, это их дело. Не обращай внимания.
#503 #396159
>>396058
Такая же тормозная и перегруженная бесполезными 'провайдерами фабрик' ерунда как и ангуляр. Но ты обязан их выучить от корки до корки, иначе будешь объявлен москалем неосилятором и казнен.
#504 #396160
Посоны, посоветуйте опенсорсный проект на angular или backbone с низким порогом вхождения да хоть каким, на самом деле - я вообще ничего не нашел, что бы гордо показывать принятые пул реквесты потом на собеседованиях.
Реквестирую так же общих советов о том, с чего начинать человеку, который решил стать крутым контрибьютором
#505 #396286
Ананас, помоги с ng-include в ангуларе, есть странное желание впихнуть туда полностью рабочий левый апп из стороннего файла.
Точнее, есть мелкое приложение на ангуларе (ng-app вместе с html, css и тд, а не просто скрипт) которое лежит отдельно и вполне себе работает. Задумал я его прикрутить к другой, большой страничке, и чтобы не замарачиваться самокопирастией, заинклюдить его в эту самую большуй страничку.

Собственно суть - как заставить ангулар исполнять свой же код из этого файла, а не тащить оттуда только текст
19 Кб, 211x300
#506 #396336
Котаны, где книжку скачать бесплатно без СМС
#507 #396338
Пилите перекат уже.
#508 #396355
тест
#509 #396359
161 Кб, 1280x853
#510 #396576
>>385174
Нужно запилить панель настроек пикрилейтед. При этом, при выборе разных параметров и чекбоксов появляется еще больше настроек и так далее.
Как это лучше всего организовать в коде? У меня получился жуткий говнокод.
sage #511 #397309
>>396576
Пикрилейтед? Дебил чтоли?
15 Кб, 532x195
#512 #397824
>>394530
Opera Blink, первый запуск, пикрелейт.
#513 #399360
>>394530
Спасибо, ты молодец.

>Пользователей: 1


На всякий случай отключил. Но исходник-то чист вроде, лол.
#514 #399361
>>399360
Лайв обновления это действительно охуенная фича. Еще бы их абу улучшил немного.
#515 #399470
Пацаны, не бейте, лучше обоссыте.
Как узнать высоту СОДЕРЖИМОГО элемента, если это самое содежимое скрыто? Есть у нас div 1x1px, в нем оче много контента. Как с помощью js получить его высоту?
44 Кб, 848x480
#516 #399526
Где же я раньше был. Это же совершенная библиотека:
http://it-ebooks.info/tag/javascript/
#517 #401213
Только начал изучать js и возникло пару вопросов. Вот код:
http://pastebin.com/q1suf1FT

1) Как запустить функцию переданного объекта? В моём примере когда Player вызывает create() ни хуя не происходит, а аддон в хроме подсказывает - "TypeError: undefined is not a function".
2) И объясните как в принципе тут работают референсы типа того, что пытался сделать я. Когда я создал копию Player и передал в него тзис (т.е. сам объект Game), то в эту копию приходит копия передаваемого объекта (т.е. с новым адресом и т.д.) или приходит ссылка на него?
#518 #402624
>>401213

Game это функция конструктор и подразумевается что ты будешь создавать объекты типа var game = new Game() и передавать этот экземпляр дальше в Player(который я так подозреваю тоже должен создаваться через new Player(new Game())
#519 #402795
Посоны, посоветуйте что почитать по ноде, экспрессу и вообще мин стэку. Введение в ангуляр вроде осилил. Я конечно понимаю, что технология хипстерская, но туториалы по ней это хипстеры в квадрате. "А теперь мы напишем хелловорлд! Нпм инсталл ё! Чё, не работает? А вендоблядей не звали, гы-гы-гы! Ладно, хуй с тобой, git clone https://github.com/linnovate/mean.git! 'The MEAN stack is in fact a fully functional blog engine application.' Чё, не хочешь блог, хочешь хэлловорлд? Авотхуй, жри чё дают!"
No. [OP] #520 #403577
Анон, как сделать, чо бы при ответе на оп пост рядом с >>1 было [OP]

алсо на свою парашу

пысы: куклу ставить не хочу
#521 #403785
>>403577
CSS выучить забыл? Абу специально для тебя на ОП-пост отдельный класс прилепил.
Тред утонул или удален.
Это копия, сохраненная 9 ноября 2014 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски