Javascript内置对象


正在学习,请勿打扰

1.Number

Number对象可以把字符串转化为数字,并对数字的精度做一些操作。
字符串转换为整数Number.parseInt():

var strNum = "15";
var num = Number.parseInt(strNum); //还可以写成 var num = parseInt(strNum);

console.log(num); //输出数字15
console.log(typeof num); //输出 number 

字符串转换为小数Number.parseFloat():

var strNum = "12.34";
var num = Number.parseFloat(strNum); 

console.log(num); //输出数字12.34
console.log(typeof num); //输出 number 

字符串不是数字时,会输出NaN:

var strNum = "abc";
var num = Number.parseInt(strNum); 

console.log(num); //输出NaN = Not a Number
console.log(isNaN(num)); //判断一个数字是不是NaN
console.log(typeof num); //输出 number ,NaN也属于number类型

操作精度toFixed()

var num = 12.334455;
var numStr = num.toFixed(2); //括号里的参数就是要保留的小数位数
console.log(numStr); //输出12.33
console.log(typeof numStr); //输出string,转换精度之后的返回结果是字符串类型

最大的不会溢出的整数,正无穷以及负无穷

console.log(Number.MAX_SAFE_INTEGER); //输出  9007199254740991  最大的不会溢出的整数
console.log(Number.POSITIVE_INFINITY); //输出  Infinity   表示正无穷
console.log(Number.NEGATIVE_INFINITY); //输出  -Infinity  表示负无穷

最大的不会溢出的整数,正无穷以及负无穷

2.Math

Math对象是用来进行一些数学操作的。

console.log(Math.PI); //数学中的 圆周率 π
console.log(Math.abs(-5)); //计算绝对值
console.log(Math.sin(Math.PI / 2)); //三角函数 sin 参数是以圆周率 π为单位的, π = 180°  ,这里就是sin90° = 1 
console.log(Math.floor(3.987)); //向下取整(返回小于等于参数的最大整数),也就是直接去掉小数部分
console.log(Math.ceil(3.987)); //向上取整,也就是取整数部分 + 1 
console.log(Math.pow(2,3)); //幂运算 第一个参数是底数,第二个参数是指数 即2的3次方 = 8
console.log(Math.trunc(3.987)); //取整
console.log(Math.random()); //返回0-1之间的随机数,每次调用的结果都不一样
console.log(Math.random());
console.log(Math.random());

内置对象Math

3.Date

Date对象用来获取当前时间或者是设定一个新的时间

var date = new Date();
console.log(date);
console.log(date.getFullYear()); //获取年份
console.log(date.getMonth()); //获取月份(这样写的话获取到的月份比实际小1,因为是从0开始的)
console.log(date.getMonth() + 1); //获取当前真正的月份
console.log(date.getDay()); //获取 周几
console.log(date.getDate()); //获取 几号
console.log(date.getHours()); //获取 小时
console.log(date.getMinutes()); //获取 分钟
console.log(date.getSeconds()); //获取 秒钟
console.log(date.getTime()); //获取当前时间戳,从1970年1月1日0点0分过去了多少毫秒  1594092253037
console.log(date.toLocaleDateString()); //转换为本地时间格式 2020/7/7

//设置时间,使用对应函数的set方法即可
date.setFullYear(2022);
console.log(date.toLocaleDateString()); //输出 2022/7/7
date.setTime(1894092253037); //也可以直接设置时间戳
console.log(date.toLocaleDateString()); //输出 2030/1/8

内置对象Date

4.JSON对象介绍

JSON是一种特殊格式的字符串,用于前后端的数据交互

var postJSON = `{
    "id":1,
    "title":"这是标题",
    "comment":[
        {
            "userid":1,
            "comment":"评论1"
        },
        {
            "userid":2,
            "comment":"评论2"
        }
    ],
    "published":true,
    "author":null
}`;

console.log(JSON.parse(postJSON)); //将JSON字符串转换为JS中的对象
var person = {
    id:1,
    name:"小明",
    skills:["React","Vue"]
};
console.log(JSON.stringify(person,null,2)); //将对象转换为JSON字符串,2表示缩进

var comments = `[
    {
        "userid":1,
        "comment":"评论1"
    },
    {
        "userid":2,
        "comment":"评论2"
    }
]`
console.log(JSON.parse(comments)); //也可以直接转换为数组,同理也可以将数组转为JSON字符串

JSON

5.Set

Set是一种没有重复元素的集合。我们可以对该集合进行添加,删除,清空,遍历等操作。

var set = new Set(); //申明一个set
set.add(1); //添加元素使用add()方法
set.add(3);
set.add(5);
console.log(set);
set.add(3); //再重复添加元素3是无法添加进去的
console.log(set);
console.log(set.has(3)); //判断集合中是否含有元素3,如果有返回true,如果没有返回false
set.forEach(value => { //forEach 遍历set集合
    console.log(value);
})
set.delete(3) //删除元素使用delete()方法
console.log(set);
set.clear(); //清空集合
console.log(set);
//对象类型也能作为set的元素进行添加
var obj1 = {id: 1}; //这两个对象虽然内容一样但是内存地址不同不属于重复元素,因此都能添加进去
var obj2 = {id: 1};
set.add(obj1);
set.add(obj2);
console.log(set);
set.add(obj1); //这里想要再次添加obj1是不会成功的,因为前面已经添加过了
console.log(set);

Set集合

6.Map

Map是一种键值对的数据结构,与对象类似,但是Map的键key和值value可以是任意的数据类型

var map = new Map(); //申明一个map
var objkey = {key:2} ;
map.set(1,"值1");
map.set(objkey,"值2");
map.set("key 3","值3");

console.log(map);
console.log(map.get(1)); //获取元素用map.get(),参数为键,获取到的就是值
console.log(map.get(objkey)); //这里通过中间变量来访问元素,如果没有另取变量那么map.get({key:2})是访问不到的
console.log(map.get("key 3"));

console.log(map.has("key 3")); //判断某个元素在map中是否存在,如果存在返回true,如果不存在返回false

map.forEach((value,key) => { //遍历map元素
    console.log(key,value);
});
//用迭代器遍历
var iterator = map.entries(); //返回一个新的包含 [key, value] 对的 Iterator 对象,返回的迭代器的迭代顺序与 Map 对象的插入顺序相同。
console.log(iterator.next()); //输出信息中的 done: false 表示迭代器还没全部迭代完成
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next()); //到这里 迭代器已经全部迭代完成  done: true

for(let [key,value] of map) {
    console.log(key,value);
}

map.delete(1); //删除map中的某个元素
console.log(map);

Map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偶尔躲躲乌云_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值