内置对象(JSON、Math、Date)与包装对象
内置对象JSON
1.什么是json,json作用
json是一种数据格式;现在我们大多数都是通过json数据格式进行前后端数据交互的,json本质上是一个字符串,简称json串
前端往后台传数据的时候,要传json格式的数据json串
在前端json串的格式原形就是对象或者对象的数组;所以我们要先把数据存储为对象或者对象的数组,然后转化为json串进行传递
2. JSON对象的方法
| 方法 | 作用 | 返回值 | 
|---|---|---|
| JSON.parse(text,[reviver]) | 解析JSON字符串 | Object类型 | 
| JSON.stringify(value,[replacer], [space]) | 将一个 JavaScript 对象或值转换为 JSON 字符串 | |
JSON.stringify参数
- value
将要序列化成 一个 JSON 字符串的值。
- replacer可选
如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为 null 或者未提供,则对象所有的属性都会被序列化。
- space可选
指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(当字符串长度超过10个字母,取其前10个字母),该字符串将被作为空格;如果该参数没有提供(或者为 null),将没有空格。
JSON.parse参数
- text
要被解析成 JavaScript 值的字符串,关于JSON的语法格式,请参考:JSON。
- reviver可选
转换器, 如果传入该参数(函数),可以用来修改解析生成的原始值,调用时机在 parse 函数返回之前。
内置对象Math
| 方法 | 描述 | 
|---|---|
| abs(x) | 返回数的绝对值 | 
| ceil(x) | 对数进行上舍入 | 
| floor(x) | 对数进行下舍入 | 
| max(x,y) | 返回x和y中的最高值 | 
| min(x,y) | 返回x和y中的最低值 | 
| pow(x,y) | 返回x的y次幂 | 
| random() | 返回0-1之间的随机数(不包含1) | 
| round(x) | 把数四舍五入为最接近的整数 | 
| sqrt(x) | 返回数的平方根 | 
内置对象Date
var date=new Date();
? eg:Date没参数是获取当前时间,给Date传时间戳是获取时间戳的时间
| 方法 | 作用 | 
|---|---|
| date.getFullYear() | 年 | 
| date.getMonth() | 月 | 
| date.getDate() | 日 | 
| date.getHours() | 时 | 
| date.getMinutes() | 分 | 
| date.getSeconds() | 秒 | 
| date.getDay() | 星期几 | 
| date.toLocaleTimeString() | 当前时间的本地格式化字符串 | 
| date.toLocaleDateString() | 当前日期的本地格式化字符串 | 
| date.getTime() | 1970 年 1 月 1 日到现在之间的毫秒数(又叫时间戳) | 
包装对象
存取字符串、数字或布尔值的属性时,创建的临时对象称为包装对象。
作用:基本数据类型也可以使用.调用方法
概念:数值、字符串、布尔值分别相对应的Number、String、Boolean三个原生对象,这三个原生对象可以把原始类型的值变成(包装成)对象
var a = 100;
console.log(a);
console.log(a.toString());
a.toString() 执行到这一行的时候做了很多事情:
- a = new Number(a); 先把数字原始值转化为包装对象
- a.toString; 调用的其实是包装对象的原型当中的toString方法
- 调用结束后自动再让a变回原始值 a = 100;
var und;
console.log(und.toString()); // 报错,原因是因为undefined没有包装对象