CSS властивості
ГлавнаяJavaScriptПідводні камені JavaScript

Підводні камені JavaScript

189

Поряд з областю видимості змінних та істинністю JavaScript є багато інших підводних каменів. Давайте подивимося на деякі з них.

Іменування

Допустимі імена в JavaScript починаються з літери або деякого символу, можуть містити літери, цифри, підкреслення та символи . Імена не можуть починатися з цифри і не можуть включати дефіс. Крім цих правил ви можете назвати свої змінні як захочете! Всі ці імена коректні:

  • a
  • a1
  • foo_bar
  • fooBarBaz
  • $fooBar
  • _foo
  • __foo__

Є деякі угоди, яких дотримуються люди при іменуванні в JavaScript, але вони не є обов'язковими і не мають жодного ефекту на роботу коду:

як правило, імена, що починаються з _ «приватні» (докладніше про це далі); імена, що починаються з великих літер, зазвичай є «конструкторами» і використовуються для створення нових екземплярів об'єктів (докладніше про це далі); в коді з jQuery імена, які починаються з $, відносяться, як правило, до об'єктів jQuery. . Ви повинні уникати цих слів в якості імен. function goto if implements import in instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var volatile void while with

з цих імен як властивості об'єкта, ім'я слід взяти в лапки:

<code data-language="javascript">var myObject={ 'class': 'tasty' };

Операції над числами та рядками

Робота з числами в JavaScript може бути трохи непередбачувана через спосіб внутрішнього представлення чисел. Наприклад, додавання десяткових дробів може дати близький, але не зовсім точний результат:

<code data-language="javascript">console.log( 0.0001 + 0.0002); //0.00030000000000000003

Це питання не часто виникає при роботі з jQuery, але це важлива проблема про яку слід знати, особливо якщо ви працюєте з десятковими числами, на кшталт валют. Якщо ви робите математичні операції, які потребують точності, то попередньо повинні перетворити значення в цілі, а потім конвертувати їх назад після завершення.

JavaScript є типовою мовою. Якщо ви спробуєте провести математичні операції, використовуючи не цифрові значення, JavaScript не стане кидатися помилками, але результат може виявитися не тим, що ви очікували.

<code data-language="javascript">console.log( 'a '+ 2); //'a2' console.log( '4' + 3); //'43' console.log( 'five' — '4'); //NaN (not a number, не число) console.log(-'1'); //-1 console.log(1 + true); //2 console.log(1==true); //true console.log( 1===true); //false

Подальше читання

Ми розглянули JavaScript тільки в загальних рисах. Mozilla Developer Network є чудовим ресурсом з інформацією про мову JavaScript, зокрема, їх посібник з JavaScript . Особливо вам слід прочитати такі статті: