Неправильное использование JavaScript
В этой главе мы обсудим использование ошибок JavaScript.
Применение Ошибка оператора присваивания
В программе JavaScript при использовании условного оператора, если оператор присваивания является знак равенства (=) будет генерировать результат об ошибке, правильный подход заключается в использовании сравнения двух знаков равенства (==).
если условный оператор возвращает ложь (мы ожидаем) , поскольку х не равен 10:
если условный оператор возвращает истину (не то, что мы ожидали) оператор выполняется , так как условия для присвоения х 10,10 верно:
если условный оператор возвращает ложь (не то , что мы ожидали) утверждение выполнено , так как условия для присвоения х 0,0 ложно:
Возвращает значение переменной назначения. |
Сравнение Распространенные ошибки
В обычном сравнении, тип данных игнорируется, если выполняется следующее условие оператор возвращает верно:
В строгой операции сравнения, расчет идентичность === оператора, в то время как значение выражения проверки типов, выполняются следующие условия, если оператор возвращает ложь:
Эта ошибка часто происходит в операторе, переключатель сравнивались заявление вычисляется с помощью оператора идентичности (===):
Следующие примеры будут выполнять предупреждения поп:
Следующие примеры являются несовместимыми, так как тип не выполняет Уведомления всплывающие окна:
Добавление и соображения подключения
Добавление двух чисел.
Строка соединения для подключения двух.
Сложение и JavaScript соединены с помощью оператора +.
Далее, мы можем видеть два числа вместе и подключены к строке чисел и различия в качестве примера:
переменная х = 10 + "5" ; Результаты // х "105"
Попробуйте »
Использование переменных при добавлении результаты противоречивы:
переменная у = 5;
вар г = х + у; Results // г 15
переменная х = 10;
переменная у = "5";
переменная г = х + у; Results // г есть "105"
Попробуйте »
Обратите внимание на использование с плавающей запятой-данных
JavaScript Все данные основаны на 64-бит с плавающей точкой типа данных ( с плавающей точкой) для хранения.
Все языки программирования, в том числе JavaScript, к точности плавающей запятой данных трудно определить:
переменная у = 0,2;
вар г = х + у Results // г 0,3
если (г == 0.3) // Возвращает ложь
Попробуйте »
Я решить эту проблему, вы можете использовать целое умножение и деление, чтобы решить:
JavaScript строка Отрасли
Мы используем разрывы строк для запуска JavaScript операторы в строке:
Тем не менее, в строке непосредственно возврат каретки в настоящее время дается для:
Мы можем выбрать инструмент развития или нажмите F12, чтобы увидеть сообщение об ошибке:
Строка разрывы строк необходимо использовать обратную косую черту (\), следующим образом:
Неправильный точкой с запятой
В следующем примере, так как точка с запятой неправильно, если оператор блока кода не будет выполняться:
ГеЬигп Меры предосторожности
JavaScript по умолчанию автоматически заканчивается на последней строке кода.
Следующие два примера возвращают тот же результат (а не точка с запятой):
JavaScript, также может быть использован, чтобы метка конца многострочный.
Следующие примеры возвращают один и тот же результат:
Однако следующие примеры результатов возвращаютсяне определено:
Почему такой результат? Потому что в JavaScript, примеры последовательного 4 кода и следующий код:
function myFunction(a) { var power = 10; return; // 分号结束,返回 undefined a * power; }
решение
Если это неполное утверждение, следующим образом:
var
JavaScript будет пытаться прочитать второе утверждение строки:
power = 10;
Однако, поскольку это утверждение является полным:
return
JavaScript автоматически выключит заявление:
return;
В JavaScript точка с запятой не является обязательным.
После возвращения является полное предложение, оно будет отключить JavaScript оператор возврата.
Примечание: Не разорвать линию оператора возврата. |
Используйте имена индексов массива
Многие языки программирования позволяют использовать имя в качестве индекса массива.
Для того, чтобы использовать имя как индекс массива называется ассоциативным массивом (или хэш).
JavaScript не поддерживает использование названия для индексирования массивов, только числовой индекс.
примеров
человек [0] = "John" ;
человек [1] = "Doe" ;
человек [2] = 46;
переменная х = person.length; // Person.length возвращает 3
переменная у = человек [0]; // Человек [0] возвращает "John"
Попробуйте »
В JavaScript, используйте имя объекта в качестве индекса.
Если вы используете имя в качестве индекса при доступе к массив, JavaScript будет переопределить стандартный массив объектов.
После выполнения этой операции, не будет больше не используются методы и свойства массива, в противном случае он будет генерировать сообщение об ошибке:
примеров
человек [ "FirstName"] = " Джон";
человек [ "LastName"] = " Doe";
человек [ "возраст"] = 46 ;
переменная х = person.length; // person.length возвращает 0
переменная у = человек [0]; // Человек [0] возвращает неопределенное значение
Попробуйте »
Определить элемент массива, и, наконец, не может добавить запятую
определяются ошибки:
points = [40, 100, 1, 5, 25, 10,];
Правильное определение способа:
points = [40, 100, 1, 5, 25, 10];
Определите объект, и, наконец, не может добавить запятую
определяются ошибки:
websites = {site:"本教程", url:"www.w3big.com", like:460,}
Правильное определение способа:
websites = {site:"本教程", url:"www.w3big.com", like:460}
Неопределенное не Null
В JavaScript нуль для объектов, не определена для переменных, свойств и методов.
Объекты определяются возможно только как нуль, в противном случае не определено.
Если мы хотим, чтобы проверить, является ли наличие объекта, когда объект еще не определен выдаст сообщение об ошибке.
Неправильное использование:
if (myObj !== null && typeof myObj !== "undefined")
Правильный путь в том, что мы должны использовать TypeOf, чтобы обнаружить, был ли объект был определен:
if (typeof myObj !== "undefined" && myObj !== null)
Блок сфера
JavaScript не создает новые возможности в каждом блоке кода, общий объем каждого кодового блока являются глобальными.
Следующий код переменной я возвращает 10 вместо неопределенной: