|
|
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Тут буду иногда спрашивать (если никто не против :) ) Зачем из стандарта убрали caller - ссылку на вызвавшую функцию? Кому он помешал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 16:23 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Задавай побольше таких вопросов :) Благодаря ему(вопросу), я почитал сейчас про arguments.callee.caller А ведь вообще не сталкивался ни разу до сих пор Жаваскрипт - страшная сила :) Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 17:22 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, Здесь хорошее объяснение - Why was the arguments.callee.caller property deprecated in JavaScript? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 17:28 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
так arguments.callee трогать не будут? а то меня тут все уже запутали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 13:11 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
зытак arguments.callee трогать не будут? а то меня тут все уже запуталиНе, с этим всё нормально, безоблачно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 13:41 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
В этой теме самое место моему вопросу, если Яростный Меч не возражает ? :) Пишу в предпроверке для вывода сообщения и выхода Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. код короче но что-то не попадалась такая манера у других это настораживает, что что-то делаю не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 15:51 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
да, мне return alert('operation failed'); не нравится. читается как верни результат операции alert в вызывающую функцию :) какой результат у alert? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 15:58 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Zoriaда, мне return alert('operation failed'); не нравится. читается как верни результат операции alert в вызывающую функцию :) какой результат у alert? такой-же, как у return; я полагаю :) void ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:04 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
alert возвращает undefined. return alert тоже юзаю. если хотите по быстрому проверить какую-нибудь мелочь, запускайте в строке браузера, например, javascript:alert(document.cookie); чтоб не случилось перехода, результат выражения должен быть undefined (можно в конце добавить void(0);) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:28 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Мечalert возвращает undefined. о, бум знать. думал - вакуум Яростный Мечreturn alert тоже юзаю. значит я не одинок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:31 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerЯростный Мечalert возвращает undefined. о, бум знать. думал - вакуумсобственно "вакуума" нет. Например, вызов функции function() {} вроде бы ничего не возвращает, а на самом деле - результат равен undefined ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:37 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, кажется, Серега переживал, что в современных браузерах эта фича уже не проходит :) если не ошибаюсь, речь шла о ie9 ;) но лично мне претит return undefined. и товарищ вот юзает, а даже не знает, чего оно возвращает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:41 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
я так понимаю, яваскрипте нету void-типа, поэтому каждая функция возвращает значение, которое по-умолчанию равно undefined. поправьте, если не права ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:45 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Zoriaя так понимаю, яваскрипте нету void-типа, поэтому каждая функция возвращает значение, которое по-умолчанию равно undefined. поправьте, если не правану да, так и есть. И потому в return undefined нет ничего плохого, это самая обычная штука. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:47 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
ZoriaЯростный Меч, кажется, Серега переживал, что в современных браузерах эта фича уже не проходит :) если не ошибаюсь, речь шла о ie9 ;) но лично мне претит return undefined. и товарищ вот юзает, а даже не знает, чего оно возвращает :) да, и не знал даже :) собственно, получается, что андефайнид в жаваскрипт и можно за войд условно принять(за отсутствием такового) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 16:49 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч И потому в return undefined нет ничего плохого, это самая обычная штука. ) а для меня по назначению отличаются return; от return что-то; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 18:39 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Не совсем по JS, но тем не менее: Как известно, в некоторых основных браузерах нельзя скриптом вызвать диалоговое окно выбора файла (т.е. если fileInp - элемент <input type="file">, то fileInp.click() не работает). Причина - "соображение безопасности". Вопрос: в чем опасность? Так же непонятно, почему нельзя узнать размер файла (про HTML5 File я в курсе, речь о классике). В итоге то, что файл слишком велик (если есть лимит размера, а это почти всегда), выясняется после его отправки, уже на сервере. По моему, дикость.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 22:42 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerВ этой теме самое место моему вопросу, если Яростный Меч не возражает ? :) Пишу в предпроверке для вывода сообщения и выхода Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. код короче но что-то не попадалась такая манера у других это настораживает, что что-то делаю не так Короче всего будет Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2011, 23:22 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
an0nymSQL_LamerВ этой теме самое место моему вопросу, если Яростный Меч не возражает ? :) Пишу в предпроверке для вывода сообщения и выхода Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. код короче но что-то не попадалась такая манера у других это настораживает, что что-то делаю не так Короче всего будет Код: plaintext 1. слышал, но часто предпочитаю предпроверки это отдельная холиварная тема(на счет точек выхода), которую не хотелось-бы сдесь развивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 00:00 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
ZoriaЯростный Меч И потому в return undefined нет ничего плохого, это самая обычная штука. ) а для меня по назначению отличаются return; от return что-то; так то оно так, но мне например напрашивается в данном случае анология с пхп-шным exit([status]), который никого вроде-бы не удивляет возможно не совсем корректная правда аналогия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 00:09 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerZoriaпропущено... а для меня по назначению отличаются return; от return что-то; так то оно так, но мне например напрашивается в данном случае анология с пхп-шным exit([status]), который никого вроде-бы не удивляет возможно не совсем корректная правда аналогия :) а у меня аналогии с c#, котлеты отдельно, мухи отдельно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 00:57 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Во-во ... у меня с Java, где мухи еще дальше от котлет ... И вот понимаю мозгом, что идея верная (2 строчки экономятся!), а вот написать как-то рука не поднимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 00:59 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
ZoriaSQL_Lamerпропущено... так то оно так, но мне например напрашивается в данном случае анология с пхп-шным exit([status]), который никого вроде-бы не удивляет возможно не совсем корректная правда аналогия :) а у меня аналогии с c#, котлеты отдельно, мухи отдельно :) си шарпом я переболел уже давно(вместе с ооп) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 02:02 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
IDVsbruckВо-во ... у меня с Java, где мухи еще дальше от котлет ... И вот понимаю мозгом, что идея верная (2 строчки экономятся!), а вот написать как-то рука не поднимается. после раскурки языков, в которых функция например может возвращать более одного результата начинаешь как-то проще смотреть на вещи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 02:05 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
То есть - более одного? - Объект с несколькими ... js тоже может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 03:40 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
IDVsbruckТо есть - более одного? - Объект с несколькими ... js тоже может. так и массив можно было-бы за уши притянуть :) в том-то и дело, что нет :)) именно несколько совершенно отдельных значений :) но это отдельная тема :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 09:50 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerIDVsbruckТо есть - более одного? - Объект с несколькими ... js тоже может. так и массив можно было-бы за уши притянуть :) в том-то и дело, что нет :)) именно несколько совершенно отдельных значений :) но это отдельная тема :)как это выглядит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:40 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечSQL_Lamerпропущено... так и массив можно было-бы за уши притянуть :) в том-то и дело, что нет :)) именно несколько совершенно отдельных значений :) но это отдельная тема :)как это выглядит? так например: Код: plaintext 1. 2. 3. сформулируй поконкретней вопрос хочешь, я тебе книжку скину по основам - сам прочитаешь познавательно котелок срывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:52 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_Lamer, книжку скинь, интересно глянуть. Пример, как я понимаю, просто вернет 2 независимых значения. А что дальше? Как их подхватить в вызывающей функции? можно ли их передать, например, в функцию с двумя параметрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 18:18 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. как то так книжку вышлю сегодня-завтра заценишь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 22:15 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
У меня возник такой вопрос. Допустим есть некий сложный объект. И я должен получить некое значение из этого объекта. Пусть путь к значению будет таким - Код: plaintext Какой код лучше использовать? Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 12:30 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
junb1У меня возник такой вопрос. Допустим есть некий сложный объект. И я должен получить некое значение из этого объекта. Пусть путь к значению будет таким - Код: plaintext а если входных параметров много? :) второй вариант получится короче. но насколько лучше сделать проверку или все же try не так уж и плох? Много так? Код: plaintext При таком подходе какой вариант не используй - все равно говнокод получится. Изначально неверный подход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 12:45 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_Lamer, причем тут изначальный подход? вопрос в том что лучше - сделать проверку входных параметров или try? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 12:51 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
С одной стороны обработка исключений по сравнению с проверкой значений гораздо более долгий процесс, с другой стороны в контексте js это не имеет значения — по-хорошему нельзя изначально допускать ситуаций, где исключение генерировалось бы в цикле и подвешивало страницу, так что try в принципе предпочтительней, потому что писанины меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 13:25 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Antonariyпо-хорошему нельзя изначально допускать ситуаций, где исключение генерировалось бы в цикле и подвешивало страницу, так что try в принципе предпочтительней, потому что писанины меньше. Можно и при помощи try получить бесконечный цикл, особенно если включить в try параметр, который управляет циклом. При ошибках этот параметр будет работать непредсказуемо. Поэтому лучше проверка, код получается более осмысленным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 14:31 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
junb1У меня возник такой вопрос. Допустим есть некий сложный объект. И я должен получить некое значение из этого объекта. Пусть путь к значению будет таким - Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. Как видите, никаких исключений. А уже после этого использовать try/catch, т.к. в цепочке obj[idx].row[idx1].data.valueOld[idx2] может оказаться, например, obj[idx].row[idx1] == null. Ну или проверять по частям: if(obj[idx] && obj[idx].row && obj[idx].row[idx1] && ...) { ... } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2011, 15:38 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Посмотрел кофескрипт одним глазом. Очень понравился на первый взгляд Кто че думает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 12:40 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Нафига козе баян? Мне не понравилось. Преимущества слишком призрачны. Хорошее мнение: "новичкам и так нужно осваивать JavaScript, а тут им добавляют ещё один уровень абстракции". Наличие скобок, "this" и т.д. мне в языке нравится, поэтому смысла ухода от этого не вижу. Но есть одно "но", которое может и понравиться: разработчики CoffeeScript не собираются останавливаться на реализации вариации своего языка с стиле Ruby. Планируется разнообразить коддинг и сделать его в стиле Питона, С#, ПэХаПэ, Java. То есть очень гибкий подход к разработке. Ждем-с ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 13:06 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerПосмотрел кофескрипт одним глазом. Очень понравился на первый взгляд Кто че думает?Почитал про него. "JavaScript в стиле Руби", с трансляцией в обычный JS. Т.е. вместо того, чтобы просто программить на одном из самых простых и одновременно самых мощных языков, нужно раскурить какой-то невнятный синтаксис, с надеждой, что потом конвертатор не нагородит мне кучу сомнительного js-г-кода? Спасибо, не надо! )) ps: Не хватает "синтаксического сахара"? Может, для начала им стоило глянуть на JS 1.8.5 , чем придумывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2011, 21:32 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, мне он понравился именно тем, что в стиле руби. а синтаксис руби я люблю конечно, и так головняков хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 00:37 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, Это вот скажем, как один из плюсов node.js позиционируется единообразие синтаксиса на сервере и на клиенте, так и тут, только наоборот :) Кстати, он как-то завязан с node.js, я еще особо пока не раскуривал, только синтаксис посмотрел но установка там идет через npm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 00:40 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Мне кажется удобным, короче. Скажем под рейлс эта тема я думаю, взлетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 00:43 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerЯростный Меч, Это вот скажем, как один из плюсов node.js позиционируется единообразие синтаксиса на сервере и на клиенте, так и тут, только наоборот :)Да, в этом смысле хитрый ход. :) Вот только, например, непонятно, что, где и как там дебажится? Неужели построчно исходники Коффе? Или таки приходится возиться с JS? :) Да и плюс озвученный у node далеко не один, но это уже другой разговор совсем. О синтаксических вкусах спорить не буду, тут кому как, я уж привык к С-style за последние 8 лет... ----------------- Кстати, ты тут недавно пример из Лиспа приводил (возврат нескольких переменных). Смотри, какой аналог есть в 1.7 : Код: plaintext 1. 2. 3. 4. 5. А вот обмен значениями: Код: plaintext 1. 2. 3. И ещё дофига всего. Оно, конечно, в основном "сахар", но все равно прикольно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 03:31 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечВот только, например, непонятно, что, где и как там дебажится? Неужели построчно исходники Коффе? Или таки приходится возиться с JS? :) не владею пока информацией, но подозреваю, что жаваскрипт :) Яростный МечДа и плюс озвученный у node далеко не один, но это уже другой разговор совсем. продолжая разговор из другого топика я заценил поплотнее node, поконектился к mysql и к манго, поработал с файлами, поработал с френдли урлами и остался доволен. и даже решил поделать на нем простенький сайт для себя, связку ноде + mysql, непонятно правда когда :) Яростный МечКстати, ты тут недавно пример из Лиспа приводил (возврат нескольких переменных). Смотри, какой аналог есть в 1.7: да, приятные примеры :) одну вещь хочу подчеркнуть именно про коммон лисп(что к данному делу не относится вообще), что всякие подобные фишки, которые сейчас появляются во многих языках, в лиспе существуют уже 40 - 50 лет. что поражает меня. он всегда в тени и всегда впереди. интерестное явление. но это нисколько не умаляет того, что это появляется наконец в других языках :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 04:05 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Вот, кстати, по поводу первого твоего примера: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. Че-то совсем в оффтоп ударился, но топик такой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 04:15 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_Lamerси шарпом я переболел уже давно(вместе с ооп) Да так ли давно, милый друх? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 09:34 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
МСУSQL_Lamerси шарпом я переболел уже давно(вместе с ооп) Да так ли давно, милый друх? ) ОБа на, какие люди зашли :) Ну, относительно давно. У меня вообще стаж маленький, как тебе известно :) Так исходя их него, в процентном соотношении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 11:39 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Без МСУ скучно в разделе asp.net :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 17:00 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч[ Вот только, например, непонятно, что, где и как там дебажится? Неужели построчно исходники Коффе? Или таки приходится возиться с JS? :) Я вот лично яваскрипт дебажу исключительно визуальной студией. Ей можно дебажить любой Java(J)Script, а сам дебаггер, лично для меня, в разы удобней фаербага, хромового или ИЕшного отладчика... Соотвественно и скрипты node.js'а тоже можно хватать ею, только дебаг сервера будет на сервере, что понятно ) Правда если все работает на никсах, а как правило оно работает на никсах, то тут не скажу. Должен быть какой-то JIT-debugger или чето типа такого.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 17:41 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Даже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах. p.s. ие-отладчик такая же тупая быдлоподелка как и сам ie. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 18:03 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stДаже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах. Ну в разрезе сайта с парочкой аяксов, фидбеков - то, конечно незачем, а если это какая-нибудь лютая браузерная система на базе какого-нибудь лютого javascript фреймворка, построенная только яваскриптом, то без дебагга .. живые позавидуют мертвым ;) st_stp.s. ие-отладчик такая же тупая быдлоподелка как и сам ie. Это да, это да ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 18:09 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
DeaduwkaЯростный Меч[ Вот только, например, непонятно, что, где и как там дебажится? Неужели построчно исходники Коффе? Или таки приходится возиться с JS? :) Правда если все работает на никсах, а как правило оно работает на никсах, то тут не скажу. Должен быть какой-то JIT-debugger или чето типа такого.. Да, node только на никсах и работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 18:26 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stДаже не представляю, зачем нужно дебажить клиентский js какими-то VS. Всё что хочешь можно увидеть в http-снифферах и алертах. p.s. ие-отладчик такая же тупая быдлоподелка как и сам ie. когда у тебя подключаются сторонние библиотеки, и в одной из них идет динамическая подписка на события - хрен знает где, посреди степи - вот тогда поймешь. или типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом. тогда тебе алерты с хттп сниферами очень помогут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 18:31 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_Lamer, > типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом прям каждый день такое происходит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 19:13 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stSQL_Lamer, > типы динамически расширяются таким образом, что твой код начинает работать самым загадочным образом прям каждый день такое происходит :) Когда происходит - так уж происходит У меня бывали очень запущеные случаи. Когда много клиентского кода - и своего и чужого - то бывает и не такое. И тогда и ие дебагер - в радость и за щастье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2011, 20:01 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stпрям каждый день такое происходит :) ну все от задач зависит же... хотя я дебаггер использую практически везде, даже когда пилю быдло-сайты для .. ну вы поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 00:48 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_Lamerси шарпом я переболел уже давно(вместе с ооп) А почему вместе с ООП? ООП - не только C# (ещё, например, JS :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 01:21 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
По сабжу: В чем смысл факта (NaN != NaN)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 01:23 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> В чем смысл факта (NaN != NaN)? Мо я что-то неправильно и понимаю, но (выражаясь культурным языком): неизвестность != неизвестности (хз!=хз) /me вспоминает: инициализируйте переменные _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 01:36 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Ex_Soft, Нет, с undefined (и null) все в порядке (неинициализированные переменные равны undefined). Тут другое. выражаясь терминологией по ссылке, переделаем в "Буратино дали 'aaa' яблок, отняли 2". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 01:47 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> неинициализированные переменные равны undefined /me думает: тогда: чем неинициализированные переменные отличаются от null (4 example, без привязки к JS (тот же SQL с его троичной логикой)) _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 01:54 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Ex_Softчем неинициализированные переменные отличаются от null (4 example, без привязки к JS (тот же SQL с его троичной логикой))Отличаются существенно. undefined в js равен сам себе. NULL в sql "не знает", равен ли он себе. А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 02:03 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> Отличаются существенно. гм... если при инициализации переменной "мусор" (как в C'ях) - то он, по идее, д.б. "мусром" везде и, отсюда и - undefined!=undefined (сюда же - SQL) Но...Если сюда подтянуть управляемый код с инициализацией - тогда конечно... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 02:25 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN). проходили ж _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 02:27 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 02:35 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечSQL_Lamerси шарпом я переболел уже давно(вместе с ооп) А почему вместе с ООП? ООП - не только C# (ещё, например, JS :)) Я неправильно выразился :) Правильно было-бы сказать: ооп - один из подходов. уже не считаю его лучшим. но пользуюсь конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 03:05 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечEx_Soft проходили ж Это понятно. Интересует, почему так. Какой скрыт смысл? Я разделяю как-то так для себя: undefined - не присвоено значения null - присвоено пустое значение NaN - присвоено неопределенное значение что-то типа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 03:19 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> Какой скрыт смысл? Вот как Вам еще такое обЪяснение: NaN (Not-a-Number) - "Нечисло". Т.е. все, что невозможно преобразовать к целому/вещественному. Отсюда: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. Код: plaintext 1. > undefined - не присвоено значения в смысле явно не присвоено значение. Значение, по идее, может быть. Но - какое? ХЗ. "Мусор", выражаясь C'шным языком. > NaN - присвоено неопределенное значение скорее - "Присвоено нечисловое значение" _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 12:26 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечИнтересует, почему так. Какой скрыт смысл? Тоже стало интересно. Нашел статью в википедии и обсуждение на stackoverflow . Краткая выдержка: 1) Существует два вида NaN: quiet и signaling. В JavaScript используется quiet NaN, то есть операции с ним не приводят к исключениям. NaN != NaN сделано для того чтобы программист мог заметить ошибку в коде. 2) Данная идея и реализация не является спецификой JavaScript, а введено в стандарте IEEE 754 - IEEE Standard for Floating-Point Arithmetic WikipediaA comparison with a NaN always returns an unordered result even when comparing with itself. The comparison predicates are either signaling or non-signaling, the signaling versions signal an invalid exception for such comparisons. The equality and inequality predicates are non-signaling so x = x returning false can be used to test if x is a quiet NaN. The other standard comparison predicates all signal if they receive a NaN operand, the standard also provides non-signaling versions of these other predicates. The predicate isNaN(x) determines if a value is a NaN and never signals an exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 12:43 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
> чтобы не заморачиваться с типизацией вспомнилось : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. > NaN != NaN сделано для того чтобы программист мог заметить ошибку в коде. /me думает: это они поторопились. Топиков а-ля этот - немало. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2011, 15:03 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Код: plaintext 1. 2. 3. 4. 5. Например: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2011, 00:04 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
>undefined в js равен сам себе. в js undefined - это зарезервированная константа. Тоесть она "материальна", поэтому и равна сама себе. >NULL в sql "не знает", равен ли он себе. с NULL по сути идет сравнение не по значение, а "на существование значения". в t-sql есть даже спец. функция isNULL, или в условиях используется (NOT) field is NULL. Тоесть null - не значение (как undefined в js) а часть конструкции. >А вот NaN твердо уверен, что не равен себе (NaN !== NaN, так же NaN != NaN). Забавно еще то, что typeof NaN == Number :) Насколько я понимаю NaN возвращается в результате "гашения" ошибок внутри базовых яваскрипт-функций. Тоесть если не смогли распарсить число из строки - на тебе NaN, а не ексепшн. А сравнивать что-то с NaN корректно будет через isNaN... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2011, 19:06 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. Можно ли это считать рекурсией? С одной стороны - есть косвенный вызов себя. С другой - нет накопления на стеке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2011, 18:27 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меч Код: plaintext 1. 2. 3. 4. 5. Можно ли это считать рекурсией? С одной стороны - есть косвенный вызов себя. С другой - нет накопления на стеке. нет, нельзя. "косвенный" вызов - низачет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2011, 18:31 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
setTimeout Синтаксис timeout_id = window.setTimeout(func|code, delay) Аргументы func|code Функция или строка кода для выполнения delay Задержка в миллисекундах, т.е 1000 это 1 секунда Описание, примеры Этот метод выполняет код(или функцию), указанный в первом аргументе, асинхронно, с задержкой в delay миллисекунд. Контекст выполнения Функция выполняется в другом контексте, отличном от контекста, в котором задается setTimeout. так что не рекурсия ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2011, 18:35 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечС одной стороны - есть косвенный вызов себя. Это не косвенный вызов. Это "установка отсроченого, асинхронного выполнения некой функции", пусть даже этой же... Рекурсия подразумевает именно вызов самой себя, увеличение программного стека... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2011, 22:04 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
На ваш взгляд, что правильно: расширять Element.prototype, используя htc в случае lte IE 7, или писать свой объект DOMElement? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2011, 19:58 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
skyANA, чтобы добавить свой функционал? Не совсем понятно, как заставить браузер создавать объекты твоего DOMElement при формировании структуры документа. Или DOMElement - это по замыслу обертка вроде $(elem) в jQuery, которая создается в JS на лету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2011, 23:51 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Меччтобы добавить свой функционал?Да. Яростный МечИли DOMElement - это по замыслу обертка вроде $(elem) в jQuery, которая создается в JS на лету?Именно свой класс-обёртка: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2011, 23:57 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
skyANA, ну обычная практика - обертки, например jQuery, ExtJS (Ext.core.Element) и т.д. Потому что htc типа считается фигнёй. Хотя - ие6-7 потихоньку выбывает из игры, а работать напрямую с элементом всё-же удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2011, 00:07 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
приведение люблю перекладывать на чужие плечи с таким способом вопросов не возникало Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2011, 23:05 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
на всякий - я упростил пример, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2011, 23:28 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Какие ещё есть способы обращения к флешке, помимо document.getElementById('id тега <object>')? Можно и с примером на jquery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 04:23 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stКакие ещё есть способы обращения к флешке, помимо document.getElementById('id тега <object>')? Можно и с примером на jquery. а чем вас это обращение не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 08:54 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
document.getElementById устраивает всем, но может ещё какие-то способы есть. Идёт вызов функций самой флешки (ExternalInterface). Самое интересное, что $('#элемент') не хочет работать, хотя по идее это тот же getElementById. Этот код отсюда незахотел работать в хроме - Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 01:50 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
st_stСамое интересное, что $('#элемент') не хочет работать, хотя по идее это тот же getElementById. нет, $('#элемент') это не дом элемент, вы путаете авторИдёт вызов функций самой флешки (ExternalInterface). да, и замечательно идет :) вообще, рекомендую использовать библиотеку swfobject, и жить счастливо отлажена под все основные браузеры вызов выглядит так:var obj = swfobject.getObjectById('mapcontainer'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 02:00 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
А чем же это ещё может быть? $('#элемент') - это массив элементов, доступ к конкретному DOM элементу - $('#элемент')[0], это должно быть тоже самое, что и getElementById, но в случае с флешкой, почему-то не хочет работать. Хотя проверю ещё раз. swfobject использовал раньше, затем надоело со скриптами возиться и теперь вставляю напрямую в html. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 08:40 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
По $('#элемент') отбой, проверил, всё нормально, работает, видимо раньше, когда пытался сделать подобное, где-то ошибся в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 08:52 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Объясните смысл неизменяемости строк. Почему есть .charAt(), но нет .setCharAt() ? в .NET (по крайней мере 1.1) функция вида string func() { return "aaaa"; } всегда возвращала физически одну и ту же строку (эксперимент 5562202 ). Интересно, в JS так же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 23:52 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. А теперь представь, что есть функция setCharAt(XX). Значит, надо взять "старый" стринг, создать "новый" стринг, добавить из "старого" ХХ-1 символ, потом твой символ, потом еще все символы с ХХ до конца, записать в память, переназначить указатели на твою переменную. Это очень дорого. Да еще и для не самого быстрого языка. А стринг-то десегментировать нельзя! Кроме этого, кодировка. Обычно js работает с 2-ухбайтовыми символами, но может и с другими. Работа с текстом - это вообще дорогое удовольствие, а когда вставляешь "t" в ascii - это одно, а когда какой-то редкий иероглиф из нихонго в UTF-16 - другое. Не зря обычно в ЯП для работы со строками не пользуются нативными типами, а используют специальные функции и библиотеки для поисков в строке, конкатенции и т.д. В js, если мне не изменяет память, нет. Не смотрел спецификацию, но уверен, что та же функция charAt() никак со строками не связана, она просто берет значение ячейки памяти со сдвигом от старта стринга с учетом кодировки, и возвращает значение ячейки памяти (код буквы). Понятно, обратного действия не предусмотрено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 00:39 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Вероятно чтобы вытаскивание из хеша и сравние строк были быстрыми. В8 кстати оч быстрый http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php (в последнем медленном тесте косяк, он тоже быстрый, просто меряется неверно) Осталось сборшик мусора поправить и будет полноценная мощная штуковина, не хуже jvm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 02:50 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Угу, а JIT-компилятор к чему прикреплять будем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 03:10 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
SQL_LamerDeaduwkaпропущено... Правда если все работает на никсах, а как правило оно работает на никсах, то тут не скажу. Должен быть какой-то JIT-debugger или чето типа такого.. Да, node только на никсах и работает :) вы будете удивлены - но он почти с самого начала и под IIS работал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 07:19 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный МечОбъясните смысл неизменяемости строк. Почему есть .charAt(), но нет .setCharAt() ? Чтобы разделить понятия "строка" и "массив сиволов". В первом случае, т.к. как есть сейчас в js сови оптимизации и упрощения. А нужна посимвольная работа - преврати строку в массив - никто ж не помешает это сделать =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 07:47 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
нода работает в виндовсе, но это сильно на любителя, надо быть мазохистом чтоб так делать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 16:20 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
а что, как запустить ноду на венде? я читал только про то чтобы через виртуалку запустить на убунте. Для дебага-то пофигу где, на родной винде удобней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 16:21 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
вот хорошая статья тынц и мазохистом не надо быть! :) а наоборот - IIS предоставляет ноду гарантированные и качественные средства масштабирования и стабильность - почитайте сначала информацию, прежде чем заявлять что это мазохизм!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 16:54 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
АПИ ноды сделан максомально близким к униксу (и не только АПИ но концепции процессов, форков и т.п.). Но если кому хочется может конечно держать в голове и тот и другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2012, 18:35 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
зыДля дебага-то пофигу где, на родной винде удобней.+1 в основном ради этого privateАПИ ноды сделан максомально близким к униксу (и не только АПИ но концепции процессов, форков и т.п.).в никсах тоже сплошное асинхронное программирование на каллбэках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2012, 00:43 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
он наверное о функции cluster.fork() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2012, 01:06 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
задумался тут над неким вопросом и понял, что не совсем понимаю суть тм почему XHR не кроссдоменный? вчера спрашивал на неком другом форуме, и дабы не дублировать буквы и словеса, приведу ссылку на там: http://javascript.ru/forum/offtopic/43765-xhr-i-krossdomennost.html - более подробная формулировка вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 18:04 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Можно подсунуть скрипт с левого домена который будет исполнятся как родной и как следствие можно (грабить караваны) получить логины пароли и любые данные с ресурса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 18:18 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Малыхин СергейМожно подсунуть скрипт с левого домена который будет исполнятся как родной и как следствие можно (грабить караваны) получить логины пароли и любые данные с ресурса.не совсем понял мысль, опиши чуть подробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 18:25 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
По сути это пассивная попытка защитить данные передаваемые между определенным доменом и пользователем от вмешательства третьей стороны т.е. если каким либо образом на странице(в скрипте) появится XHR на сторонний домен то он не будет работать как следствие это усложняет межсайтовые скриптинг И возникает философский вопрос что лучше пассивная защита или упрощенный межсайтовый скриптинг =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 19:33 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Малыхин Сергей, типа "не берите данные с другого домена, они могут быть опасны"? но ведь всегда можно забрать их через свой сервер, на крайняк jsonp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 19:43 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
именно. Аналогия .. это просто закрытая дверь открывать ее или нет решать нужно самому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:01 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Малыхин Сергейименно. Аналогия .. это просто закрытая дверь открывать ее или нет решать нужно самомубольше напоминает одинокую дверь, стоящую на дороге - можно обойти справа и слева, но открыть никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:10 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
самому можно обходить как угодно )) но эта такая дверь которая ведет в мир другого домена и открывается она только с этой стороны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:13 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Малыхин СергейПо сути это пассивная попытка защитить данные передаваемые между определенным доменом и пользователем от вмешательства третьей стороны т.е. если каким либо образом на странице(в скрипте) появится XHR на сторонний домен то он не будет работатьКак-то притянуто за уши. В случае вмешательства третьей стороны, что ей не позволит внедрить код типа <script src=" http://evilsite.com/evilscript.js"></script>, что, собственно, и делается, когда ломают сайты? Этот скрипт выполнится как миленький. Яростный Меч почему XHR не кроссдоменный? Тоже не вижу смысла в запрете кроссдоменности. В dom вижу, в xhr нет. Даже если xhr скачает evilscript.js, это же просто текст. В отличии от <script> он не исполнится по факту загрузки, если не написать специально код для его исполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:24 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
вообще, картина нагляднее видна в xhr2: 1) для получения данных с другого домена чужой сервер должен выставить заголовок ответа " Access-Control-Allow-Origin ". но это если запрос без куков (дефолтное поведение xhr2) 2) а для запроса с куками должен ещё быть заголовок " Access-Control-Allow-Credentials " и непонятно ограничение п.1 - его легко обойти серверным запросом, в отличии от п.2, который обойти невозможно в принципе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:42 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Это пассивная защита Нужна она или нет это вопрос отдельный Третья сторона может и сам сервер взломать и делать вообще что угодно и еще очень много чего может к сожалению мудаков полно и такие запреты возникают не на пустом месте =( кстати CORS позволяет легко включить кросдоменные запросы в браузерах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:50 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
Яростный Мечвообще, картина нагляднее видна в xhr2: 1) для получения данных с другого домена чужой сервер должен выставить заголовок ответа " Access-Control-Allow-Origin ". но это если запрос без куков (дефолтное поведение xhr2) 2) а для запроса с куками должен ещё быть заголовок " Access-Control-Allow-Credentials " и непонятно ограничение п.1 - его легко обойти серверным запросом, в отличии от п.2, который обойти невозможно в принципе. Наверно стороннему домену могут быть нужны куки с основного домена для обработки запроса а могут быть не нужны это способ указать нужны или нет куки при запросе стороннему серверу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:57 |
|
||
|
Философские вопросы по JS
|
|||
|---|---|---|---|
|
#18+
не так давно узнал, что кроссдоменные ограничения есть для картинок, но там в принципе все понятно. а именно: на своей странице можно добавить "чужую" картинку (тег "<img>") - запрос будет с куками. эту картинку можно скопировать на канву. после чего канва становится ущербной - у нее нельзя сделать toDataURL или getImageData. более того, это заразно: если эту канву скопировать на другую, та другая тоже не сериализуется :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 21:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=22&tid=1447529]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
133ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 558ms |

| 0 / 0 |
