Основные понятия
javascript是一门解释型的语言,浏览器充当解释器。js执行引擎并不是一行一行的执行,而是一段一段的分析执行。Задержка сценариев
Атрибут Defer определяется в HTML4.0.1, который используется для обозначения того, что сценарий не повлияет на построение страницы при выполнении. Другими словами, скрипт будет отложен до тех пор, пока вся страница не будет проанализирована до выполнения. Следовательно, установление атрибута DEFE в элементе <Script> эквивалентно сообщению браузеру немедленно загружать, но задерживая выполнение. В документах xhtml установите атрибут Defer to defer=“defer"
Асинхронные сценарии
html5 определяет асинхровый атрибут для <Script>. Все свойство аналогично свойству DEFE и используется для изменения поведения сценариев обработки. Точно так же, как и DEFE, Async работает только с внешними файлами сценариев и говорит браузеру немедленно загрузить файл. Но в отличие от Defer, сценарии, отмеченные как асинхронные, не гарантируют выполнение в порядке, в котором они указаны.
Целью указания Async является предотвращение ожидания, когда файл сценария будет загружен и выполнен, а также загружая другие содержимых страницы. Следовательно, рекомендуется, чтобы асинхронные сценарии не работали во время загрузки
с учетом регистра
Все в Ecmascript (включая переменные, имена функций и операторы) чувствительно к корпусу.
1. JScript переменные
Переменные установлены в памяти, когда они впервые используются, поэтому они позже ссылаются в сценарии. Объявить это перед использованием переменных. Объявления переменных могут использоваться с помощью ключевого слова VAR.
var count, amount, level; // 用单个var 关键字声明的多个声明。
Переменное именование
Имена переменных включают глобальные переменные, локальные переменные, переменные класса, параметры функции и т. Д. Все они все попадают в эту категорию.
Переменное именование состоит из префикса типа + значимых слов, а читабельность переменных и функций увеличивается в результате номенклатуры верблюда. Например: Susername, Ncount.
Спецификация префикса:
Каждая локальная переменная должна иметь префикс типа, который можно разделить на:
S: представляет строку. Например: Sname, Shtml; N: представляет число. Например: npage, ntotal; B: представляет логику. Например: Bchecked, Bhaslogin; A: представляет собой массив. Например: Алист, Agroup; R: представляет регулярное выражение. Например: rdomain, утомляется; F: представляет функцию. Например: fgethtml, finit; O: представляет другие объекты, не упомянутые выше, такие как: Obutton, Odate; G: представляет глобальные переменные, такие как: Gusername, Glogintime;
JScript-это чувствительный к случаю язык. Создание законного имени переменной должно следовать следующим правилам:
Обратите внимание, что первый персонаж не может быть числом.
Вы можете следовать по любой букве или номеру и подчеркнуту, но не пробелы
Имя переменной не должно быть зарезервированным словом.
javascript - это слабо напечатанный язык, а JavaScript игнорирует ненужные пространства. Вы можете добавить места в сценарий, чтобы улучшить его читаемость.
var -это зарезервированное слово для javascript , указывающее, что следующее приведено описание переменной, имя переменной является определенным пользователем идентификатором, а переменные разделены запятыми.
Если переменная объявлена, но ей не присваивается значение, переменная существует, и ее значение - значение JScript, не определенное.
Преобразование типа силы
В JScript операции могут быть выполнены на различных типах значений, не беспокоясь об исключениях от интерпретатора JScript. Вместо этого интерпретатор JScript автоматически изменяет (отбрасывает) один из типов данных на другой тип данных, а затем выполняет операцию. Например:
Значение результата расчета добавляется в строку и отличное значение в строку. Добавление логического значения в строку поднимает логическое значение к строке. Добавление числового значения к логическому значению приносит логическое значение к числовому значению.
Чтобы явно преобразовать строку в целое число, используйте метод parseInt . Чтобы явно преобразовать строку в число, используйте метод parseFloat .
Время жизни переменных JavaScript : Когда вы объявляете переменную в функции, вы можете получить доступ только к переменной в этой функции. При выходе из функции эта переменная будет отменена. Эта переменная называется локальной переменной. Вы можете использовать локальные переменные с одинаковым именем в разных функциях, потому что только функции, которые объявлены переменными, могут распознавать каждую переменную.
Если вы объявите переменную вне функции, все функции на странице могут получить доступ к переменной. Срок службы этих переменных начинается после того, как они объявлены и заканчиваются, когда страница закрыта.
JS переменная карта разума
2.JS Тип данных
JScript имеет три типа -> Основные типы данных, два типа составных данных и два -> специальные типы данных.
Основные (основные) типы данных
字符串数值布尔Композитный (эталонный) тип данных
对象数组Специальные типы данных
Null`Undefined`Тип данных строки: тип данных строки используется для представления текста в JScript. В JS, в то время как оба двойные цитаты («») и одиночные кавычки ('') могут представлять строки, они почти не имеют разницы. Но использование только двойных кавычек («»), чтобы указать, что строка считается лучшей.
Значение строки - это строка нулей или более символов Unicode (буквы, числа и знаки препинания), расположенные вместе.
Что такое Unicode?
Unicode предоставляет уникальные значения для каждого символа, независимо от платформы, программы или языка. Unicode разработан для обеспечения единого кодирования для обработки всех символов, которые существуют в мире.
Численный тип данных
Мы должны понимать, что JScript внутри представляет все значения как значения с плавающей запятой, поэтому нет различий между целыми и плавающими значениями в JSCRICT.
Логический тип данных
Boolean (логично) может иметь только два значения: true или false.
JS массивы и объекты
Для получения подробной информации, пожалуйста, см. В моей статье -> Сводка обучения JavaScript - массив и объектная часть
Нулевой тип данных: вы можете очистить содержимое переменной, присваивая нулевое значение переменной.
Оператор typeof в JSCRICT сообщит о null значении как тип Object , а не тип null .
<html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "en"> <Head> <meta http-eviv = "content-type" content = "text/html; charset = utf-8"/> <title> </title> <script = html; "charset = utf-8"/> <title> </title> </title> html; нулевой); </script> </head> <body> </body> </html>
null используется для представления объекта, который еще не существовал, и часто используется для представления функции, которая пытается вернуть объект, которого не существует.
Undefined тип данных:
Неопределенное значение будет возвращено в следующей ситуации:
对象属性不存在,声明了变量但从未赋值。Разница между нулевым и неопределенным
предупреждение (тип неопределенного); // вывод «неопределенного» предупреждения (TypeOf NULL); // вывод «объект» оповещения (null == не определен); // вывод "True"
Ecmascript считает, что неопределенные получены из нулевого, поэтому они определены как равные.
предупреждение (null === не определен); // вывод «false» оповещения (typeof null == typeof undefined); // вывод "FALSE"
Нулевые и неопределенные различные по типам, поэтому вывод «false». И === означает абсолютное равенство, здесь null === Неопределенный вывод ложный
Кроме того, вот более важный тип данных - тип справочных данных
Справочный тип данных
Тип данных JavaScript Тип данных - это объект, хранящийся в памяти кучи. JavaScript не разрешает прямой доступ к местоположению и эксплуатации пространства памяти кучи. Он может только управлять эталонным адресом объекта в памяти стека. Таким образом, данные типа ссылки фактически хранятся в памяти стека в качестве эталонного адреса объекта в памяти кучи. Этот справочный адрес позволяет быстро найти объекты, хранящиеся в памяти кучи.
Давайте продемонстрируем процесс назначения типов эталонных данных
Конечно, добавление атрибута имени в OBJ2 фактически добавляет атрибут имени в объекты в памяти кучи. OBJ2 и OBJ1 Сохраняют только ссылочный адрес объекта памяти кучи в памяти стека. Хотя они также скопированы, объект, на который указан, тот же. Следовательно, изменение OBJ2 вызывает изменение OBJ1.
Основные значения типа относятся к простым сегментам данных, хранящимся в памяти стека, то есть местоположение, где такие значения хранятся полностью в памяти.
Значение типа ссылки относится к тем объектам, хранящимся в памяти кучи, то есть переменная на самом деле является просто указателем, который указывает на другое место в памяти, где содержит объект.
Короче говоря, память кучи хранит справочные значения, а память стека хранит значения фиксированных типов.
В ECMAScript переменные могут иметь два типа значений, а именно исходное значение и эталонное значение.
Простой сегмент данных, в которых исходные значения хранятся в stack , то есть их значения хранятся непосредственно в месте, где доступна переменная. Условный объект, хранящийся в куче ( heap ), то есть значение, хранящееся в переменной, представляет собой указатель ( point ), указывающий на память, где хранится объект.
<script type = "text/javascript"> var box = new object (); // Создать ссылочный тип var box = "lee"; // Основное значение типа - это строковая Box.age = 23; // Странно добавлять атрибуты к значениям основного типа, потому что только объекты могут добавлять атрибуты. оповещение (box.age); // это не ссылочный тип, и не может быть выводом; </script>
3. JScript Operators
Приоритет: относится к порядку операций операторов. С точки зрения непрофессионала, это должно вычислить, какую часть операции в первую очередь.
Комбинация: порядок расчета того же приоритетного оператора, в терминах непрофессионала, является ли он, из какого направления для расчета, независимо от того, находится ли он вправо или справа налево.
Преобразование типа данных
String () к типу строки
Number () преобразуется в числовой тип
Boolean () к логическому типу
parseInt : преобразует строку в целое число. Начните анализировать с самого начала строки, остановите анализ в первой неинтемерной позиции и верните все целые числа, прочитанные ранее. Если строка не начинается с целого числа, NAN будет возвращен. Например: значение, возвращаемое Parseint ("150 HI"): 150, а значение, возвращаемое Parseint ("HI"): NAN.
parseFloat : преобразует строку в номер плавающей запятой. Начните анализировать с самого начала строки, остановите анализ в первой неинтемерной позиции и верните все целые числа, прочитанные ранее. Если строка не начинается с целого числа, NAN будет возвращен. Например: parseFloat("15.5 hi") 返回的值是:15.5,parseFloat("hi 15.5")返回的值是:NaN。
eval:将字符串作为javascript表达式进行计算,并返回执行结果,如果没有结果则返回undefined。4.JS управление процессом
Для заявлений управления процессами JS есть лишь несколько трудно понять. Я не буду вдаваться в подробности о других. Карта разума прикреплена ниже.
1. Для ... в операторе выполняется одно или несколько операторов, соответствующих каждому объекту, или каждому элементу массива.
для (переменная в [объект | массив]) операторы
Параметр:
variable : требуемый вариант. Переменная, которая может быть либо атрибутом объекта, либо любым элементом массива.
object , array : необязательно. Объект или массив, чтобы пройти по нему.
statement : необязательно. Одно или несколько утверждений, которые должны быть выполнены относительно каждого свойства объекта или каждого элемента массива. Это может быть составное утверждение.
Хотя условные операторы управления (например, если операторы) требуют использования кодовых блоков только тогда, когда выполняются несколько операторов (начиная с левой скобки «{» и заканчивая в правой форме «}»), наилучшей практикой является всегда использовать кодовые блоки.
if (args) alert (args); // Легко в ошибках, если (args) {alert (args); // Рекомендуется использовать}JS CORCESS CONTROL MIP MAP
5.JS функция
Функция - это многоразовый блок кода, который управляется событием или выполняется при вызове.
Jscript поддерживает две функции: одна - это функция внутри языка, а другая создается сама по себе.
Функции JavaScript не позволяют параметры (но скобки, содержащие параметры, не могут быть опущены), и параметры могут быть переданы функциям для использования функциями.
Для получения дополнительной информации о функциях, пожалуйста, посетите другую статью моей статьи: резюме функции функции JavaScript Learning (iv)
Композиция объектов
Метод - функция: процедура, динамические свойства - переменные: состояние, статическое
Наконец, карта разума, обобщенная пожилыми людьми: