English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Текст
Основные концепции
JavaScript - это интерпретируемый язык, браузер играет роль интерпретатора. При выполнении js, в одной области видимости сначала интерпретируется, а затем выполняется. При интерпретации компилируются ключевые слова function и var, определяющие переменные, после чего выполняется по порядку сверху вниз и присваивается значение переменным.
Различие регистров
Всё в ECMASCript (включая переменные, имена функций и операторы) различает регистр.
1. Переменные
Переменные устанавливаются в памяти при их первом использовании, что облегчает их использование в скрипте后来。Прежде чем использовать переменную, необходимо ее объявить. Для объявления переменной можно использовать ключевое слово var.
var count, amount, level; // Множественные объявления с помощью одного ключевого слова var.
Имя переменной
Имя переменной включает глобальные переменные, локальные переменные, классовые переменные, параметры функций и т.д., все они относятся к этой категории.
Нормы префиксов:
Каждая локальная переменная должна иметь префикс типа, который можно разделить на:
s: означает строку. Например: sName, sHtml;
n: означает числовые значения. Например: nPage, nTotal;
b: означает логику. Например: bChecked, bHasLogin;
a:表示数组。例如:aList,aGroup;
r:表示正则表达式。例如:rDomain,rEmail;
f:表示函数。例如:fGetHtml,fInit;
o:表示以上未涉及到的其他对象,例如:oButton,oDate;
g:表示全局变量,例如:gUserName,gLoginTime;
JScript 是一种区分大小写的语言。创建合法的变量名称应遵循如下规则:
注意第一个字符不能是数字。
后面可以跟任意字母或数字以及下划线,但不能是空格 变量名称一定不能是 保留字。
javascript是一种弱类型语言,JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。
var是javascript的保留字,表明接下来是变量说明,变量名是用户自定义的标识符,变量之间用逗号分开。
如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined。
强制类型转换
在 Jscript 中,可以对不同类型的值执行运算,不必担心 JScript 解释器产生异常。相反,JScript 解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:
运算 结果
数值与字符串相加 将数值强制转换为字符串。
布尔值与字符串相加 将布尔值强制转换为字符串。
数值与布尔值相加 将布尔值强制转换为数值。
Чтобы явно преобразовать строку в целое число, используйте метод parseInt. Чтобы явно преобразовать строку в число, используйте метод parseFloat.
Срок жизни переменных в JavaScript: после объявления переменной в функции, вы можете получить к ней доступ только в этой функции. После выхода из функции переменная аннулируется. Такой переменной называют локальной переменной. Вы можете использовать в разных функциях одинаковые имена локальных переменных, так как только функция, в которой была объявлена переменная, может распознать каждую переменную.
Если вы объявили переменную вне функции, все функции на странице могут получить доступ к этой переменной. Срок жизни этих переменных начинается с момента их объявления и заканчивается при закрытии страницы.
Ментальная карта JavaScript переменных
Типы данных в 2.js
В jscript есть три -> основные типы данных, два -> комплексные типы данных и два -> специальные типы данных.
Основные (базовые) типы данных
Строковые
Числовые
Булево
Комплексные (упомянутые) типы данных
Объект
Массив
Специальные типы данных
Null
Undefined
Тип данных строки: тип данных строки используется для представления текста в JScript. В JavaScript, хотя можно использовать как двойные кавычки (""), так и одинарные кавычки (''), и они почти не имеют различий, но предпочтительным является использование двойных кавычек ("") для представления строк.
Строка является последовательностью нуля или более Unicode-символов (букв, цифр и знаков препинания).
Что такое Unicode?
Unicode предоставляет уникальное числовое значение для каждого символа, независимо от платформы, программы или языка. Разработка Unicode была направлена на предоставление единой кодировки для обработки всех символов, существующих в мире.
Тип данных чисел
Нужно понимать, что в JScript все числа внутренне представляются в виде плавающей точки, поэтому в Jscript между целыми и плавающими точными числами нет差别.
Тип данных Boolean
Булево (логическое) может иметь только два значения: true или false.
Массивы и объекты в JavaScript
Подробнее см. в моей статье -> обобщение изучения JavaScript — часть о массивах и объектах
Тип данных "Null": можно очистить содержимое переменной, присвоив ей значение null.
В Jscript оператор typeof будет сообщать, что значение null является типом Object, а не типом null.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title></title> <script type="text/javascript"> alert(typeof null); </script> </head> <body> </body> </html>
Null используется для обозначения еще не существующего объекта, часто используется для обозначения функции, которая пытается вернуть не существующий объект.
Тип данных "Undefined":
В таких случаях будет возвращено значение "undefined":
Свойство объекта не существует,
Объявлена переменная, но ей не было присвоено значение.
Разница между null и undefined
alert(typeof undefined); //вывод "undefined" alert(typeof null); //вывод "object" alert(null == undefined); //вывод "true"
ECMAScript считает undefined производным от null, поэтому они определены как равные.
alert(null === undefined); // output "false" alert(typeof null == typeof undefined); // output "false"
Типы null и undefined различаются, поэтому вывод "false". А === означает абсолютное равенство, здесь null === undefined выводит "false"
Кроме того, здесь мы介绍一下 один из важнейших типов данных - ссылочные типы данных
Ссылочные типы данных
Ссылочные типы данных JavaScript хранятся в памяти кучи, JavaScript не позволяет напрямую обращаться к местам в памяти кучи и выполнять операции с памятью кучи, можно только через операции с адресами ссылок в памяти стека. Поэтому данные ссылочного типа в памяти стека хранят адрес объекта в памяти кучи. Через этот адрес можно быстро найти объект, хранящийся в памяти кучи.
Давайте теперь продемонстрируем这个过程 назначения ссылочного типа данных
Конечно, добавление атрибута name к obj2 на самом деле добавляет атрибут name к объекту в памяти кучи, obj2 и obj1 хранят в памяти стека только адреса объектов в памяти кучи, хотя и является копией, но указываемый объект один и тот же. Поэтому изменение obj2 вызывает изменение obj1.
Простые типы значений - это те, которые хранятся в памяти стека в виде простых данных, то есть такие значения полностью хранятся в одном месте памяти.
Ссылочные типы значений - это те, которые хранятся в памяти кучи, то есть переменная хранит не сам объект, а только указатель, указывающий на другое место в памяти, где хранится объект.
Короче говоря, память кучи хранит ссылочные значения, а память стека хранит фиксированные типы значений.
В ECMAScript переменные могут иметь два типа значений, то есть простые значения и ссылочные значения.
Простые значения хранятся в стоке (stack) в виде простых данных, то есть их значения напрямую хранятся в месте доступа переменной. Ссылочные значения хранятся в куче (heap) в виде объектов, то есть значение, хранящееся в переменной, является указателем (pointer), указывающим на место хранения объекта в памяти.
<script type="text/javascript"> var box = new Object(); // Создание типа ссылочного значения var box = "lee"; // Основной тип значения - это строка box.age = 23; // Основной тип значения добавляет атрибуты очень странно, потому что только объекты могут добавлять атрибуты. alert(box.age); //не тип ссылки, не может быть выведен} </script>
3. Операторы JScript
Приоритет: порядок выполнения операций операторов, простыми словами, что сначала рассчитать.
Композициональность: порядок выполнения операций одного и того же уровня приоритета, простыми словами, с какой стороны начать счет, слева направо или справа налево.
Преобразование типов данных и базовые обертки типов
String() преобразование в тип string
Number() преобразование в тип number
Boolean() преобразование в тип bool
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.
Базовые обертки типов
При чтении базового типа значения, в фоновом режиме создается объект базового обертки типа, чтобы можно было вызывать методы для работы с этими данными. Базовые обертки типов включают Boolean, Number и String
var box = 'trigkit4'; //лиiteral box.name = 'mike'; //недействительное свойство box.age = function () { //недействительный метод return 22; ; //написание оператора new var box = new String('trigkit4');//оператор new box.name = 'mike'; //действительное свойство box.age = function () { //действительный метод return 22; ;
Тип String включает три свойства и множество доступных встроенных методов
Свойства Описание
length : возвращает длину строки
Constructor : функция, возвращающая функцию создания объекта String
prototype : расширение строки с помощью свойств и методов
4. Операторы управления потоком js
Для операторов управления потоком JavaScript, здесь мы рассмотрим только несколько трудных для понимания. Оставшееся не обсуждается. Ниже будет представлена的思维-карта.
1. Оператор for...in соответствует каждому элементу объекта или массива и выполняет один или несколько операторов.
for (variable in [object | array])
statements
Параметры:
variable: обязательно. Переменная, которая может быть любым свойством объекта или любым элементом массива.
object, array: опционально. Объект или массив, по которому нужно пройтись.
statement: опционально. Один или несколько операторов, которые необходимо выполнить для каждой属性 объекта или каждого элемента массива. Может быть сложным оператором.
Хотя операторы управления условиями (например, оператор if) требуют использования кода блока (начинается с левой скобки {, заканчивается правой скобкой }), только в случае выполнения нескольких инструкций, но лучшая практика - всегда использовать блок кода.
if(args) alert(args); // легко ошибиться if(args){ alert(args); // рекомендуется использовать }
Функция js5
Функция - это повторно используемый блок кода, который выполняется при событии или когда его вызывают.
Jscript поддерживает два типа функций: один из них - это функции, встроенные в язык, а другой - созданные самим пользователем.
Функции JavaScript позволяют использовать функции без параметров (но kleine Klammern не могут быть опущены), и также можно передавать параметры для использования функцией.
Более подробную информацию о функциях можно найти в моей другой статье: 'Общее собрание по изучению JavaScript (четыре часть) - часть function функции'.
Состав объекта
Метод - функция: процесс, динамический
Атрибут - переменная: состояние, статическое
В конце, я добавлю思维-карту, которую создал мой前辈:
Вот и все, что я хотел сказать по этому поводу. Надеюсь, это поможет вам в изучении, и я希望大家 будут активно поддерживать учебник 'Крик Учебника'.