No mundo do JavaScript, tudo é um objeto.
Mas alguns objetos ainda são diferentes dos outros. Para distinguir o tipo de objeto, usamos typeof para obter o tipo de objeto, que sempre retorna uma string:
tipo de 123; // 'numer'typeOf Nan; // 'number'typeof' str '; // 'string'typeof true; // 'boolean'typeo de indefinido; // 'Undefined'typeOf Math.abs; // 'function'typeof null; // 'object'Typeof []; // 'object'Typeof {}; // 'objeto' typeof {}; // 'objeto' Como pode ser visto, number , string , boolean , function e undefined são diferentes de outros tipos. Preste atenção especial ao tipo de null é object e o tipo de Array também é object . Se usarmos typeof , não seremos capazes de distinguir null , Array e objeto no sentido usual - {} .
Objeto de embalagem
number , boolean e string têm objetos de wrapper. Sim, no JavaScript, as strings também distinguem entre os tipos string e seus tipos de wrapper. O objeto de embalagem é criado com new :
var n = novo número (123); // 123, um novo tipo de embalagem foi gerado var B = novo booleano (true); // true, um novo tipo de embalagem foi gerado var s = new String ('str'); // 'str', um novo tipo de embalagem foi gerado Embora o objeto Wrapper pareça exatamente o mesmo que o valor original e seja exibido exatamente o mesmo, seu tipo se tornou object ! Portanto, comparar o objeto de embalagem com o valor original com === retornará false :
tipo de novo número (123); // 'Número do objeto (123) === 123; // Falsetypeof New Boolean (True); // 'Object'new boolean (true) === true; // falsetypeof new string ('str'); // 'object'new string (' str ') ===' str '; // falsePortanto, não use o objeto de embalagem, mesmo se você se sentir ocioso! Especialmente para tipos de string! ! !
Data
No JavaScript, o objeto Date é usado para representar datas e horários.
Para obter o horário atual do sistema, use:
var agora = new Date (); agora; // quarta -feira 24 de junho de 2015 19:49:22 gmt+0800 (cst) agora.getlyear (); // 2015, ano agora.getmonth (); // 5, mês, observe que o intervalo do mês é de 0 ~ 11, 5 significa junho agora.getDate (); // 24, significa 24º agora.Getday (); // 3, significa quarta -feira agora.gethours (); // 19, 24 horas agora.getminutes (); // 49, minuto agora.getSeconds (); // 22, segundos agora.getMillisEconds (); // 875, milissegundos agora.gettime (); // 1435146562875, Timestamp representado em número
Observe que o horário atual é o momento em que o navegador obtém do sistema operacional local, por isso não é necessariamente preciso, porque o usuário pode definir o tempo atual para qualquer valor.
Se você deseja criar um objeto Date com uma data e hora especificadas, pode usar:
var d = nova data (2015, 5, 19, 20, 15, 30, 123);
Você pode ter observado um muito, muito enganado, ou seja, a faixa de mês de JavaScript é representada por números inteiros, de 0 a 11, de 0 a janeiro e 1 a fevereiro ..., para representar junho, estamos passando em 5! Definitivamente, isso é algo que o designer de JavaScript teve uma contração cerebral naquela época, mas é impossível corrigi -lo agora.
A segunda maneira de criar uma data e hora especificadas é analisar uma string que está em conformidade com o formato ISO 8601:
var d = date.parse ('2015-06-24T19: 49: 22.875+08: 00'); D; // 1435146562875 Mas ele não retorna um objeto Date , mas um registro de data e hora. Mas com um registro de data e hora, ele pode ser facilmente convertido em uma Date :
var d = nova data (1435146562875); D; // Qua 24 de junho de 2015 19:49:22 GMT+0800 (CST)
Fuso horário
O tempo representado pelo objeto Date é sempre exibido de acordo com o fuso horário do navegador, mas podemos exibir a hora local e o tempo ajustado da UTC:
var d = nova data (1435146562875); d.tolocalestring (); // '2015/6/24 19:49:22', horário local (fuso horário de Pequim +8: 00), a sequência exibida está relacionada ao formato definido pelo sistema operacional d.toutcString (); // 'quarta -feira, 24 de junho de 2015 11:49:22 gmt', hora da UTC, 8 horas de intervalo da hora local
Então, como converter fusos horários em JavaScript? De fato, desde que estejamos passando por um registro de data e hora do tipo number , não precisamos nos preocupar com a conversão do fuso horário. Qualquer navegador pode converter corretamente um registro de data e hora em horário local.
Portanto, precisamos passar apenas o registro de data e hora ou ler o registro de data e hora do banco de dados e depois converter automaticamente o JavaScript em horário local.
Para obter o registro de data e hora atual, você pode usar:
if (date.now) {alert (date.now ()); // versão antiga do IE não possui o método agora ()} else {alert (new Date (). Gettime ());}JSON
No JSON, existem apenas alguns tipos de dados:
• Número: é exatamente o mesmo que o número JavaScript;
• Booleano: é verdadeiro ou falso de JavaScript;
• String: é javascript string;
• NULL: é nulo de JavaScript;
• Array: é o método de representação da matriz JavaScript - [];
• Objeto: é a representação {...} de JavaScript.
e qualquer combinação acima.
Serialização
Vamos primeiro serializar o objeto Xiao Ming em uma string json:
var xiaoming = {nome: 'xiao ming', idade: 14, sexo: verdadeiro, altura: 1,65, nota: nula, 'escola média': '/"w3c/" ensino médio', habilidades: ['javascript', 'java', 'python', 'lisp']};;使用JSON.stringify()之后:
Json.Stringify (xiaoming); // '{"Nome": "Xiao Ming", "Age": 14, "Gênero": Verdadeiro, "Altura": 1,65, "Grade": NULL, "SCOOL do ensino médio": "/" W3C/"Escola Média", "Skills": ["JavaScript", "Java", "Python", "Lisp"]: "Para produzir melhor, você pode adicionar parâmetros e recuar a saída:
Json.Stringify (xiaoming, null, '');
resultado:
{"Nome": "Xiao Ming", "Age": 14, "Gênero": Verdadeiro, "Altura": 1,65, "Grade": NULL, "Escola Média": "/" W3C/"Middle School", "Skills": ["Javascript", "Java", "Python", "Lisp"] O segundo parâmetro é usado para controlar como filtrar os valores -chave do objeto. Se queremos produzir apenas o atributo especificado, podemos passá -lo para Array :
Json.Stringify (xiaoming, ['nome', 'habilidades'], '');
resultado:
{"Nome": "Xiao Ming", "Skills": ["JavaScript", "Java", "Python", "Lisp"]}Você também pode passar em uma função para que cada par de valores-chave do objeto seja processado primeiro pela função:
função convert (chave, value) {if (typeof value === 'string') {return value.TOUPCASE (); } retornar value;} json.Stringify (xiaoming, converter, '');O código acima transforma todos os valores de atributo em capitalização:
{"Nome": "Xiao Ming", "Age": 14, "Gênero": Verdadeiro, "Altura": 1,65, "Grade": NULL, "Escola Média": "/" W3C/"Middle School", "Skills": ["Javascript", "Java", "Python", "Lisp"] Se também queremos controlar com precisão como serializar o Xiao Ming, podemos definir um método toJSON() para xiaoming e retornar diretamente os dados que o JSON deve serializar:
var xiaoming = { name: 'Xiao Ming', age: 14, gender: true, height: 1.65, grade: null, 'middle-school': '/"W3C/" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'], toJSON: function () { return { // Only name and age are output, and the key has been changed: 'Name': this.name, 'idade': this.age}; }}; Json.Stringify (xiaoming); // '{"Nome": "Xiao Ming", "Age": 14}'Deserialização
Obtenha uma string de formato JSON e usamos diretamente JSON.parse() para transformá -la em um objeto JavaScript:
Json.parse ('[1,2,3, verdadeiro]'); // [1, 2, 3, True] json.parse ('{"name": "Xiao Ming", "Age": 14}'); // objeto {nome: 'xiao ming', idade: 14} json.parse ('true'); // truejson.parse ('123.45'); // 123.45 JSON.parse() também pode receber uma função para converter propriedades analisadas:
Json.parse ('{"name": "xiao ming", "idade": 14}', function (chave, valor) {// colar número * 2: if (key === 'name') {retornar valor + 'aluno';} valor de retorno;}); // Objeto {Nome: 'Student Xiao Ming', idade: 14}O artigo acima fala brevemente sobre os objetos padrão do JavaScript é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.