powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS isset
25 сообщений из 115, страница 2 из 5
JS isset
    #40085984
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Странно, вот эта конструкция вообще ничего не выдаёт, даже ашыпки в Хроме:
Код: html
1.
2.
3.
4.
5.
<html>
<script>
alert(aaa);
</script>
</html>
...
Рейтинг: 0 / 0
JS isset
    #40085993
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge , в Опере это уже ошибка...
Код: javascript
1.
Uncaught ReferenceError: aaa is not defined
...
Рейтинг: 0 / 0
JS isset
    #40086117
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Не пихай undefined в функцию. Там, где данные в твой код приходят, там всё и проверяй, чтобы не было сюрпризов и везде не пихать свой вело-isset.
...
Рейтинг: 0 / 0
JS isset
    #40086118
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Я больной перфекционист сказочник ))

Если ты больной на голову, то будь больным до конца:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
//func(param1, param2, param3)


function func(arg) {
    check(arg, {param1 : "int", param2 : "int", param3 : "int"}); //or throw for example
    var {param1, param2, param3} = arg;
...
}
func({param1 : x, param2 : null, param3 : z});
...
Рейтинг: 0 / 0
JS isset
    #40086122
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
Вообще, в javascript все переменные всегда определены. По умолчанию они имеют значение null.

nyet. И вообще null - это объект.
...
Рейтинг: 0 / 0
JS isset
    #40086384
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я вообще не джавасприпач. Буду по маленьку исправляться...
...
Рейтинг: 0 / 0
JS isset
    #40086387
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
И вообще null - это объект.

Звучит как-то угрожающе.
...
Рейтинг: 0 / 0
JS isset
    #40086388
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Буду по маленьку исправляться...

Подход все равно правильный. Если ты уже получил управление в функции или методе - проверка что тебе передали будет не лишней.
Если функция/метод могут сами "додумывать" за тебя (т.е. не все параметры можно им передавать, передавать параметры разного типа), то такими функциями/методами и пользоваться удобнее.
...
Рейтинг: 0 / 0
JS isset
    #40086391
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman , ты вот пока используешь старый JS... Но в новом уже есть такие операторы

Код: javascript
1.
2.
val = val ?? 'значение_по_умолчанию'
obj.prm = obj?.prm  ?? 'значение_по_умолчанию'


Вот они разбираются с null и undefined на шорох!
...
Рейтинг: 0 / 0
JS isset
    #40086424
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Звучит как-то угрожающе.

А что ты скажешь на то, что вот это :
Код: sql
1.
f`result ${res}`


- вызов функции?
...
Рейтинг: 0 / 0
JS isset
    #40086428
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
А что ты скажешь на то, что вот это :
Код: sql
1.
f`result ${res}`


- вызов функции?

Ничего не скажу...
Я, когда изучаю очередной ЯП, стараюсь запоминать всякие его "описания" и особенности. Принимаю их как должное, поскольку другого там пока не будет. Да даже если и будет потом - стараюсь запомнить новое и применять это к месту.

Т.о. мне без разницы объект это, примитив или "специальное значение"... Главное правильно это применять и использовать.
...
Рейтинг: 0 / 0
JS isset
    #40086431
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster , но я противник "ниндзя кодинга"...
Для меня это когда специально применяется куча особенностей ЯП дабы сделать код максимально не понятным для других, кто про те особенности еще не читал.

Правда некие особенности могут потом приниматься как удобные и получать массовое распространение среди сторонников этого ЯП.
Хотя другим прогерам с других ЯП такое будет вообще не понятно. А у JS таких особенностей достаточно много, если сравнивать с другими ЯП.
...
Рейтинг: 0 / 0
JS isset
    #40086438
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Хотя другим прогерам с других ЯП такое будет вообще не понятно. А у JS таких особенностей достаточно много, если сравнивать с другими ЯП.

А каст в число плюсом - это понятно со стороны?
Код: sql
1.
2.
str = "5";
i = +str;
...
Рейтинг: 0 / 0
JS isset
    #40086448
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

все зависит от i
...
Рейтинг: 0 / 0
JS isset
    #40086449
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
А каст в число плюсом - это понятно со стороны?

Такое частенько применяется в слабо типизированных ЯП. Т.ч. это не JS ноу хау.

Зато в логических операторах JS просто кладезь особенностей!
Поскольку в других ЯП результатом логической операции однозначно должен быть некий "логический результат".
У одних это true/false... У кого-то 1/0 или -1/0...
А вот у JS это может быть все что угодно!
Что напрочь вырубает "носителей других ЯП" при просмотре некоего кода на JS.

И это мы еще не рассматривали область видимости...
...
Рейтинг: 0 / 0
JS isset
    #40086450
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
...И это мы еще не рассматривали область видимости...

Угу. Например, чем отличаются let, var и const. Я пишу всегда var и не парюсь. А вот если ничего не писать - будет глобальная видимость - потенциальная угроза ашыпки.
...
Рейтинг: 0 / 0
JS isset
    #40086459
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge
Я пишу всегда var и не парюсь.

Это зря... Переходи на новые рельсы.
...
Рейтинг: 0 / 0
JS isset
    #40086462
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge
А вот если ничего не писать - будет глобальная видимость - потенциальная угроза ашыпки.

Что бы этого не было, надо использовать
'use strict'
Можно случайно ошибиться в написании переменной, и не получить никакого сообщения об ошибке. А потом долго и нудно отлаживаться.
Тоже самое и с var

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var l;

function f () {

   i= 10; // хотел написать l = 10, написал i, но сообщения об ошибке не получил

   for (var i = 0; i< l; i++) { // Если бы было let i, то выше бы было сообщение об ошибке
// ...
   }
}



А вообще, начиная изучать язык, надо брать сразу самую новую версию.
...
Рейтинг: 0 / 0
JS isset
    #40086463
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge
krvsa,

Странно, вот эта конструкция вообще ничего не выдаёт, даже ашыпки в Хроме:
Код: html
1.
2.
3.
4.
5.
<html>
<script>
alert(aaa);
</script>
</html>


Надо уметь смотреть выдачу ошибок в браузере

Uncaught ReferenceError: aaa is not defined
...
Рейтинг: 0 / 0
JS isset
    #40086464
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voraa
Можно случайно ошибиться в написании переменной, и не получить никакого сообщения об ошибке. А потом долго и нудно отлаживаться.

Если все так запущено - лучше использовать ЯП с жесткой типизацией. ;)
Программки таки нужно уметь писать. Если просто "генерить" некий текст из аглицких слов, то будет очень сложно в много каких ЯП.
...
Рейтинг: 0 / 0
JS isset
    #40086469
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
Какое отношение жесткая типизация имеет к тому, что в JS можно иногда использовать переменные без их явного объявления?
В JS много проблем, которые разработчики как то пытаются решать. Но действует основной принцип - Старый код должен работать!
...
Рейтинг: 0 / 0
JS isset
    #40086470
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voraa , жесткая типизация может помочь тем прогерам, которые в кнопки не попадают и программки отлаживать не умеют.
Только это уже будет не JS, а другие ЯП в которых жесткая типизация используется изначально.

JS не стоит тянуть за уши к жесткой типизации. Кто не умеет, так он и так не научится...
...
Рейтинг: 0 / 0
JS isset
    #40086472
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voraa,

На синхронный Аякс уже пробует ругаться : jquery.js:10208 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ jquery.js:10208
...
Рейтинг: 0 / 0
JS isset
    #40086476
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge
voraa,

На синхронный Аякс уже пробует ругаться : jquery.js:10208 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ jquery.js:10208

И что тут не так. Синхронный XMLHttpRequest это нонсенс.
Современный fetch вообще не может быть синхронным
Кстати, это просто предупреждение и совет не использовать синхронный вариант. Скрипт все равно будет работать.
...
Рейтинг: 0 / 0
JS isset
    #40086483
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voraa,
Это очень упрощает жизнь, если надо последовательно вызвать XmlHttpRequest.
...
Рейтинг: 0 / 0
25 сообщений из 115, страница 2 из 5
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS isset
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]