JavaScript——标准对象

在JavaScript的世界里,一切都是对象。

但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串:

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'

可见,numberstringbooleanfunctionundefined有别于其他类型。特别注意null的类型是objectArray的类型也是object,如果我们用typeof将无法区分出nullArray和通常意义上的object——{}

包装对象

除了这些类型外,JavaScript还提供了包装对象,熟悉Java的人肯定很清楚intInteger这种关系。numberbooleanstring都有包装对象。在JavaScript中,字符串也区分string类型和它的包装类型。包装对象用new创建:

var n = new Number(123); // 123,生成了新的包装类型
var b = new Boolean(true); // true,生成了新的包装类型
var s = new String('str'); // 'str',生成了新的包装类型

虽然包装对象看上去和原来的值一模一样,显示出来也是一模一样,但他们的类型已经变为object了!所以,包装对象和原始值用===比较会返回false

typeof new Number(123); // 'object'
new Number(123) === 123; // false

typeof new Boolean(true); // 'object'
new Boolean(true) === true; // false

typeof new String('str'); // 'object'
new String('str') === 'str'; // false

所以不建议大家使用包装对象。

Date

在JavaScript中,Date对象用来表示日期和时间。

var now = new Date(); //Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)
now.getFullYear(); //年  2020
now.getMonth(); // 月 0  0~11  代表月
now.getDate(); // 日  15
now.getDay(); // 星期几 3
now.getHours(); // 时  14
now.getMinutes(); // 分 23
now.getSeconds(); // 秒

now.getTime(); // 时间戳 全世界统一 1970 1.1 0:00:00  毫秒数 

console.log(new Date(1579069400636)) //时间戳转为时间 Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)

转换

now = new Date(1579069400636)// 注意,调用是一个方法,不是一个属性!
//Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)
ƒ toLocaleString() { [native code] }
now.toLocaleString()    //"2020/1/15 下午2:23:20"
now.toGMTString()       //"Wed, 15 Jan 2020 06:23:20 GMT"

JSON

早期,所有数据传输习惯使用 XML 文件:

  • JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
  • 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
  • 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

在JavaScript 一切皆为对象、任何js 支持的类型都可以用JSON来表示:

  • number:和JavaScript的number完全一致;
  • boolean:就是JavaScript的truefalse
  • string:就是JavaScript的string
  • null:就是JavaScript的null
  • array:就是JavaScript的Array表示方式——[]
  • object:就是JavaScript的{ ... }表示方式。

格式:

  • 对象都用 {}
  • 数组都用 []
  • 所有的键值对 都是用 key:value

JSON字符串 和 JS 对象的转化

var user = {
    name: "jjh",
    age: 3,
    sex: '男'
}

//1.对象转化为json字符串
var jsonUser =  JSON.stringify(user);
console.log(jsonUser); //{"name":"jjh","age":3,"sex":"男"}

//2.json 字符串转化为对象 参数为 json 字符串
var obj = JSON.parse('{"name":"qinjiang","age":3,"sex":"男"}');
console.log(obj);//{name: "jjh", age: 3, sex: "男"}

猜你喜欢

转载自www.cnblogs.com/godles/p/12197240.html
今日推荐