Определение объектов JavaScript
- Предыдущая страница История JS
- Следующая страница Свойства объектов JS
Курс рекомендован:
В JavaScript объекты являются королем. Если вы понимаете объекты, вы понимаете JavaScript.
- В JavaScript почти "все" является объектом. Строки являются объектами (если использовать new
- Булевы значения являются объектами (если использовать Строки являются объектами (если использовать new
- Числа являются объектами (если использовать Строки являются объектами (если использовать new
- Ключевые слова определяются)
- Даты всегда объекты
- Арифметика всегда объекты
- Регулярные выражения всегда объекты
- Массивы всегда объекты
- Функции всегда объекты
Объекты всегда объекты
Все значения JavaScript, кроме исходных данных, являются объектами.
Исходные значения JavaScriptИсходные значения
Это означает значения, которые не имеют свойств или методов.Исходные данные типов
Это означает данные, обладающие исходными значениями.
- "Hello"
- 3.14
- false
- false всегда false
- (объект) null всегда null
JavaScript определил 5 типов исходных данных:
Неизменные значения (они являются硬кодированными и, следовательно, не могут быть изменены).
значение | Предположим, x = 3.14, вы можете изменить значение x. Но вы не можете изменить значение 3.14. | Тип |
---|---|---|
Комментарии | "Hello" | string |
"Hello" всегда "Hello" | 3.14 | number |
3.14 всегда 3.14 | false | true |
true всегда true | false | boolean |
false всегда false | false всегда false | null |
(объект) null всегда null | (объект) null всегда null | undefined |
Undefined всегда undefined
Объекты - это переменные, содержащие переменные
Пример
Переменные JavaScript могут содержать единичное значение:
var person = "Bill Gates";
Объекты также являются переменными. Но объекты могут содержать много значений.Значения следуютИмя : Значение
Пример
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Объекты в JavaScript пишутся в виде пары (имя и значение, разделенных двоеточием).Имя-значениесоставляют набор.
Свойства объекта
Имя-значение в объекте JavaScript называютсвойство。
свойство | значение |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
Объекты, написанные в виде пары имя-значение,类似这样:
- Ассоциативные массивы в PHP
- Словарь в Python
- Хэш-таблицы в C
- Хэш-карты в Java
- Хеши в Ruby и Perl
метод объекта
Методы можно выполнять на объекте.действие。
Объектные свойства могут быть исходными значениями, другими объектами и функциями.
метод объектасодержитОпределение функцииобъекта.
свойство | значение |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
JavaScript-объекты являются контейнерами для именованных значений, называемых свойствами и методами.
Вы узнаете больше о методах в следующей главе.
Создание JavaScript-объектов
С помощью JavaScript вы можете определить и создать свои собственные объекты.
Есть несколько способов создания объектов:
- Определение и создание одного объекта, используя объектные литералы.
- Определение и создание одного объекта через ключевое слово new.
- и затем создать объекты типа конструктора.
В ECMAScript 5 также можно определить объектный конструктор функцией Object.create()
для создания объекта.
Используйте объектные литералы
Это самый простой способ создания объекта.
Используя объектные литералы, вы можете определить и создать объект в одном предложении.
Объектные литералы указывают на фигурные скобки {}
в котором указаны имена:значения (например, age:62).
В следующем примере создается новый объект JavaScript с четырьмя свойствами:
Пример
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Пробелы и переводы строк не важны. Определение объекта может распространяться на несколько строк:
Пример
var person = { firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue" };
Используя ключевое слово JavaScript new
В следующем примере также создается новый объект JavaScript с четырьмя свойствами:
Пример
var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = 50; person.eyeColor = "blue";
Результаты двух предыдущих примеров одинаковы. Не нужно использовать new Object()
。
Для простоты, читаемости и скорости выполнения рекомендуется использовать первый метод создания (метод литерал объектов).
Объекты JavaScript изменяемы
Объекты изменяемы: они адресуются по ссылке, а не по значению.
Если person является объектом,下面的语句不会 создать копию person:
var x = person; // Это не создаст копию person.
объект x не копия person. Оноэто x и person являются одним и тем же объектом.
Любые изменения в x изменят person, так как x и person являются одним и тем же объектом.
Пример
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"} var x = person; x.age = 10; // Это изменит и x.age, и person.age
Комментарий:Переменные JavaScript не изменяемы. Только объекты JavaScript таковы.
- Предыдущая страница История JS
- Следующая страница Свойства объектов JS