В мире JavaScript все является объектом.
Но некоторые объекты все еще отличаются от других. Чтобы различить тип объекта, мы используем оператор typeof чтобы получить тип объекта, который всегда возвращает строку:
тип 123; // number'typeof nan; // number'typeof 'str'; // 'String'typeof true; // 'Boolean'typeof undefined; // 'undefined'typeof math.abs; // 'function'typeof null; // 'Object'typeof []; // 'Object'typeof {}; // 'Object' typeof {}; // 'объект' Как видно, number , string , boolean , function и undefined отличается от других типов. Обратите особое внимание на тип null object , а тип Array также является object . Если мы используем typeof , мы не сможем отличить null , Array и объект в обычном смысле - {} .
Упаковочный объект
number , boolean и string имеют объекты обертки. Да, в JavaScript строки также различают типы string и типы обертки. Объект объекта создан с new :
var n = новое число (123); // 123, был сгенерирован новый тип упаковки var b = new Boolean (true); // true, был сгенерирован новый тип упаковки var s = new String ('str'); // 'str', был сгенерирован новый тип упаковки Хотя объект обертки выглядит точно так же, как исходное значение, и отображается точно так же, их тип стал object ! Поэтому сравнение объекта обертывания с исходным значением с === вернет false :
TypeF New Number (123); // 'object'new Number (123) === 123; // falsetypeof new Boolean (True); // 'object'new boolean (true) === true; // falsetypeof new String ('str'); // 'object'new string (' str ') ===' str '; // ЛОЖЬТак что не используйте упаковочный объект, даже если вы чувствуете себя холодным! Особенно для типов струн! ! !
Дата
В JavaScript объект Date используется для представления дат и времени.
Чтобы получить текущее время системы, используйте:
var теперь = новая дата (); сейчас; // Ср 24 июня 2015 г. 19:49:22 GMT+0800 (CST) NOW.GETLYEAR (); // 2015, год сейчас.getmonth (); // 5, месяц, обратите внимание, что диапазон месяца составляет 0 ~ 11, 5 означает июнь сейчас.getDate (); // 24, означает 24 -й сейчас.getday (); // 3, означает среду сейчас.gethours (); // 19, 24 часа сейчас.getminutes (); // 49, минута сейчас.getSeconds (); // 22, секунды сейчас.getMilliseconds (); // 875, Milliseconds Now.getTime (); // 1435146562875, TimeStamp, представленная в числе
Обратите внимание, что текущее время - это время, которое браузер получает от локальной операционной системы, поэтому оно не обязательно точное, поскольку пользователь может установить текущее время на любое значение.
Если вы хотите создать объект Date с указанной датой и временем, вы можете использовать:
var d = новая дата (2015, 5, 19, 20, 15, 30, 123);
Возможно, вы наблюдали очень, очень обманутые, то есть диапазон месяца JavaScript, представленным целым числом от 0 до 11, от 0 до января и с 1 по февраль ..., чтобы представлять июнь, мы проходим в 5! Это определенно то, что у дизайнера JavaScript в то время был мозг, но сейчас его невозможно исправить.
Второй способ создать указанную дату и время - проанализировать строку, которая соответствует формату ISO 8601:
var d = date.parse ('2015-06-24T19: 49: 22,875+08: 00'); D; // 1435146562875 Но он возвращает не объект Date , а временную метку. Но с помощью метки времени его можно легко преобразовать в Date :
var d = новая дата (1435146562875); D; // Ср 24 июня 2015 г. 19:49:22 GMT+0800 (CST)
Часовой пояс
Время, представленное объектом Date всегда отображается в соответствии с часовым поясом браузера, но мы можем отобразить как локальное время, так и скорректированное время UTC:
var d = новая дата (1435146562875); d.tolocalestring (); // '2015/6/24 7:49:22, локальное время (часовой пояс Пекина +8: 00), отображаемая строка связана с форматом, установленным операционной системой d.toutcstring (); // 'Ср, 24 июня 2015 г. 11:49:22 GMT', UTC Time, 8 часов помимо местного времени
Так как же преобразовать часовые пояса в JavaScript? На самом деле, до тех пор, пока мы передаем временную метку типа number , нам не нужно заботиться о преобразовании часового пояса. Любой браузер может правильно преобразовать метку времени в местное время.
Таким образом, нам нужно только передать временную метку или прочитать временную метку из базы данных, а затем автоматически преобразовать JavaScript в локальное время.
Чтобы получить текущую метку времени, вы можете использовать:
if (date.now) {alert (date.now ()); // Старая версия IE не имеет метода now ()} else {alert (new Date (). GetTime ());}Json
В JSON есть только несколько типов данных:
• Номер: это точно так же, как номер JavaScript;
• Boolean: это истинно или неверно JavaScript;
• Строка: IS JavaScript String;
• null: null of javaScript;
• Массив: это метод представления массива JavaScript - [];
• Объект: это {...} представление JavaScript.
и любая комбинация выше.
Сериализация
Давайте сначала сериализуем объект Сяо Мин в строку json:
var xiaoming = {name: 'xiao ming', возраст: 14, пол: true, рост: 1,65, класс: null, «средняя школа»: '/"w3c/" средняя школа ", навыки: [' javascript ',' java ',' python ',' lisp ']};使用JSON.stringify()之后:
Json.stringify (Xiaoming); // '{"name": "xiao ming", "Age": 14, "пол": true, «рост»: 1,65, «класс»: null, «средняя школа»: «/« w3c/«средняя школа», «навыки»: [«javascript», «java», «Питон», «lisp»]}Для лучшего вывода вы можете добавить параметры и отступить на вывод:
Json.stringify (xiaoming, null, '');
результат:
{«Имя»: «Сяо Мин», «Возраст»: 14, «пол»: истин, «высота»: 1,65, «класс»: null, «средняя школа»: «/« w3c/«средняя школа», «навыки»: [«javascript», «java», «python», «lisp»]}}}}}}} Второй параметр используется для управления тем, как фильтровать значения ключей объекта. Если мы хотим только вывести указанный атрибут, мы можем передать его в Array :
Json.stringify (Xiaoming, ['name', 'навыки'], '');
результат:
{"name": "xiao ming", "навыки": ["javascript", "java", "python", "lisp"]}Вы также можете передать функцию, чтобы каждая пара ключевых значений объекта была обработана сначала функцией:
функция конвертировать (key, value) {if (typeof value === 'string') {return value.touppercase (); } return value;} json.stringify (xiaming, convert, '');Приведенный выше код превращает все значения атрибутов в капитализацию:
{«Имя»: «Сяо Мин», «Возраст»: 14, «пол»: истин, «высота»: 1,65, «класс»: null, «средняя школа»: «/« w3c/«средняя школа», «навыки»: [«javascript», «java», «python», «lisp»]}}}}}}} Если мы также хотим точно контролировать, как сериализовать Xiao Ming, мы можем определить метод toJSON() для xiaoming и непосредственно вернуть данные, которые JSON должен сериализовать:
var xiaoming = {name: 'xiao ming', возраст: 14, пол: true, hight: 1,65, класс: null, «средняя школа»: '/"w3c/" средняя школа ", навыки: [' javascript ',' Java ',' python ',' lisp '], tojson: function () {return {//ase-name, и Age, и Age, и Age, и Age, и Age, и Age, и Age, и Age, и Age', и Age ', и Age', и Age, и Age ', и Age, и Age', и Age 'Becide, и Age' Arpt, и Age 'wome. this.name, 'age': this.age}; }}; Json.stringify (xiaoming); // '{"name": "xiao ming", "Age": 14}'Десериализация
Получите строку формата JSON, и мы напрямую используем JSON.parse() чтобы превратить ее в объект JavaScript:
Json.parse ('[1,2,3, true]'); // [1, 2, 3, true] json.parse ('{"name": "xiao ming", "age": 14}'); // Object {name: 'xiao ming', возраст: 14} json.parse ('true'); // trueJson.parse ('123.45'); // 123,45 JSON.parse() также может получить функцию для преобразования проанализированных свойств:
Json.parse ('{"name": "xiao ming", "age": 14}', function (key, value) {// plot № * 2: if (key === 'name') {return value + 'student';} return value;}); // Object {name: 'Студент Xiao Ming', возраст: 14}Приведенная выше статья кратко рассказывает о стандартных объектах JavaScript - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.