false.toString (); // 'false' [1, 2, 3] .toString (); // '1,2,3'function foo () {} foo.bar = 1; foo.bar; // 1Одна вещь, которая часто неправильно понимается, заключается в том, что числовые константы нельзя рассматривать как объекты, но на самом деле числовые константы все еще могут рассматриваться как объекты. Это связано с тем, что анализатор JavaScript совершает ошибку при операторах точечных анализов и рассматривает их как функции с плавающей запятой.
2.toString (); // повышает синтаксис
На самом деле, у нас есть много способов сделать числовую константу в качестве объекта.
2..toString (); // Вторая точка правильно распознается2 .toString (); // Обратите внимание на пространство, оставленное до точки (2) .toString (); // 2 оценивается в первую очередь
Объект как тип данных
Объекты в JavaScript могут использоваться в качестве хэш -таблиц, и в основном они содержат соответствующие отношения между ключами и значениями.
Используйте символ {} для создания простого объекта. Этот недавно созданный объект будет наследовать от Object.prototype и не содержит свойств, которые он определяет себя.
var foo = {}; // новый пустой объект // новый объект со свойством «тест» со значением 12Var bar = {test: 12};Получить доступ к свойствам объекта
Мы можем использовать два способа доступа к объектам JavaScript, а именно оператор DOT. и оператор кронштейна [].
var foo = {name: 'Kitten'} foo.name; // kittenfoo ['name']; // kittenvar get = 'name'; foo [get]; // kittenfoo.1234; // syntaxErrorfoo ['1234']; // работаетЭффекты двух операторов практически одинаковы, единственное отличие состоит в том, что оператор кронштейна позволяет динамические настройки свойств, а имена атрибутов могут иметь синтаксисные ошибки. (Третий случай в приведенном выше примере был объяснен)
Удалить свойства объекта
Единственный способ удалить свойство - это использовать удаление, установив значение свойства для неопределенного или нулевого, просто удалив значение, связанное с свойством, и на самом деле не удаляет само свойство.
var obj = {bar: 1, foo: 2, baz: 3}; obj.bar = undefined; obj.foo = null; удалить obj.baz; for (var i in obj) {if (obj.hashownproperty (i)) {console.log (i, '' + obj [i]); }}Вышеуказанный выходной столблок не определен и Foo Null, только BAZ фактически удален.
Здесь следует объяснить, что удаление может удалять только атрибуты, а не переменные. Поэтому при определении переменных мы должны развить хорошую привычку писать Var. В любое время переменные должны быть объявлены с использованием ключевого слова VAR. Потому что, если вы не пишете VAR, переменная будет принята за глобальный объект и создаст новое свойство.
Этот пример дает ответ совершенно ясно, а является переменной, а B - просто свойство глобального объекта.
Свойства названных объектов
var test = {'case': 'Я - ключевое слово, поэтому я должен быть замечен как строка », Delete:« Я - ключевое слово, так что я тоже »// повышает синтаксисратор};Свойства объекта можно назвать с нормальными символами или строками. Кроме того, из -за неправильной конструкции анализатора JavaScript второй метод представления в приведенном выше примере будет добавлять ошибку в ECMASCRIPT 5.
Причина ошибки заключается в том, что удаление является ключевым словом, поэтому необходимо назвать константу строки для адаптации к старой версии анализатора JavaScript.