JavaScript标准对象

在Js中一切皆对象

但是某些对象还是和其他对象不太一样,为了区分对象的类型,我们用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'

注意:虽然包装对象看上取和原来的值一摸一样,显示出来也是一摸一样,但他们的类型已经变成Object了!所以,包装对象和原始值用===比较会返回false

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

 所以闲的蛋疼也不要使用包装对象!尤其是String 对象

最后然和对像都可以用toString()方法吗?

NO,null和undefined就没有,这两个值要除外,虽然null还伪装成object类型

 Date

在js中Date是不是通常用来获取时间啊

var now =new Date();
now;   //Tue Dec 14 2021 09:09:40 GMT+0800 (中国标准时间)
now.getFullYear();  //年份2021
now.getMonth();  //月份 12
now.getDate();   //几号 14
now.getDay();   //星期几 2
now.getHours(); //小时 24小时制
now.getMinutes(); //分钟
now.getMilliseconds(); //毫秒
now.getTine(); //以number形式表示的时间

 注意:当前时间是浏览器获取的系统时间,不一定准确,因为用户可以把时间设置为任何值

 这个时候如果我们想用指定时间

var d=new Date(2021,12,11,20,15,30,123)
//Tue Jan 11 2022 20:15:30 GMT+0800 (中国标准时间)

看坑爹的地方,就是js的月份范围用的整数表示的是0~11,0表一月,11表示12月,我们传入的是12!这绝对是Js设计师脑子抽了一下,现在修复是不可能了所以要记住

月份从0开始:0=1,1=2.。。。。11=12

 RegExp

在看着之前让我们来聊一聊正则表达式

\b:可以匹配一个数字,\w:可以匹配一个字母或数字

00\b可以匹配001但不可以00A

\w\w可以匹配js

‘.’可以匹配任意字符

'js.'可以匹配 jsp等等

*匹配任意个字符(包括0个),+至少一个字符,?表示0个或1个字符,{n}表示n个字符,{n,m}表示n-m个字符,\s可以匹配一个空格(包括tap空白符),^开头,$结尾

例子

\b{3}:匹配3个数字

\s+至少匹配一个空格

var re=new RegExp('正则表达是')

两个方法text()匹配是否适合exce()分组

re.text('11111');  //flase

re.exce(' aaa'); //null

JSON

什么是JSON

JSON是javaScript Object Notation的缩写,它是一种数据交换格式

序列化stringify(对象名,筛选,格式)

例子

'use strict'
var xiao={
    name='小明',
    age=12,
    sex='男',
    grade=null
}
var s=JSON.stringify(xiao,['name','age'],' ');
console.log(s);

也可以传入函数对,对象每个键值都会先被函数处理

'use strict'
var xiao={
    name='小明',
    age=12,
    sex='男',
    grade=null
}
var a=(key,value)=>{
    if(typeof(value)=='String'){
       return value.toUpperCase();
    }
}
var s=JSON.stringify(xiao,a,' ');
console.log(s);

反序列化

JSON.parse()可以接受一个函数,用来转换解析出的属性

var obj = JSON.parse('{"name":"小明","age":14}', function (key, value) {
    if (key === 'name') {
        return value + '同学';
    }
    return value;
});
console.log(JSON.stringify(obj)); // {name: '小明同学', age: 14}

这个就是这么简单

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小胖子敲代 码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值