[Js]常识二

日期时间

在这里插入图片描述
在这里插入图片描述

DOM节点

在这里插入图片描述
无他,了解几个API

  • parentNode
  • children
  • nextElementSibling
  • previousElementSibling

DOM CRUD

  • 常规CRUD
  • 克隆节点在这里插入图片描述
  • 删除节点
    在这里插入图片描述

M端事件(了解)

在这里插入图片描述

swiper插件(了解)

Window对象模型

在这里插入图片描述
在这里插入图片描述

定时器

  • setTimeout
  • setTimeInterval

事件循环EventLoop(js原理)

在这里插入图片描述
经典面试题:

<script>
   console.log(1);
    setTimeout(function(){
        console.log(3)
    },0)
   console.log(2)
</script>
会打印结果 1  2  3, 注意不是 1  3  2 ,
setTimeout即使参数为timeout=0,也是异步的。这和java的ScheduleService还是有点差异的

location对象

location.href = "http://www.baidu.com/"  //跳转到这个地址

这个场景:支付成功5s后返回

location.reload()
location.search()
location.hash()

navigator对象

在这里插入图片描述

history对象

在这里插入图片描述

localstorage(重点)

在这里插入图片描述
在这里插入图片描述

  • Localstorage只能被同一个域的多个页面共享,也就是说,跨域不能共享
  • localstorage只存储kv都是字符串,setItem()的参数会自动转为字符串;要是存储复杂数据结构,可以使用json str
    在这里插入图片描述

sessionStorage

在这里插入图片描述

正则

正则基础

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

元字符

在这里插入图片描述
元字符分类:
在这里插入图片描述

console.log(//.test('哈哈哈')) //true
console.log(/^哈$/.test('哈哈'))//false 【注意是精确匹配了】
console.log(/^哈$/.test('哈')) //true

1.边界符
典型就是 ^$
在这里插入图片描述

// 【正则 /^哈*$/ 表示字符串开头必须是零或者多个'哈',
// 同时字符串末尾也必须是零或多个'哈'】
console.log(/^哈*$/.test('哈哈')) //true 
console.log(/^哈*$/.test('哈大'))//false
console.log(/^哈*$/.test(''))//true

console.log('================================');
// 【正则 /^哈+$/ 表示字符串开头必须是一个或者多个'哈',
// 同时字符串末尾也必须是一个或多个'哈'】
console.log(/^哈+$/.test('哈哈')) //true 
console.log(/^哈+$/.test('哈'))//true
console.log(/^哈+$/.test('哈大哈'))//false
console.log(/^哈+$/.test(''))//false

// 出现且只出现二次
console.log(/^哈{2}$/.test('哈'))  //false
// 出现 2 到 6次均可
console.log(/^哈{2,6}$/.test('哈哈'))  //true
// 不能乱入其他 字符
console.log(/^哈{2,6}$/.test('哈大哈'))  //false
// 至少出现2次
console.log(/^哈{2,}$/.test('哈哈哈')) //true

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


// 字符串只要返回 至少一个 abc 中的字符都返回 true
// 注意:是只要返回至少一个abc中的任意一个字符
console.log(/[abc]/.test('a')); //true
console.log(/[abc]/.test('ab'));//true
console.log(/[abc]/.test('abddd'));//true

// 加了^和$,限定了边界;表示 只有一个字符,且必须是
// abc  其中的一个。
console.log(/^[abc]$/.test('a')); //true
console.log(/^[abc]$/.test('ab')); // false

// 加了 量词,限定了字符重复次数,表示可以是 零或 多个字符,且必须是
// abc其中一个
console.log(/^[abc]*$/.test('a'));//true
console.log(/^[abc]*$/.test('ab'));//true
console.log(/^[abc]*$/.test('aaaa'));//true

//表示是零个或多个小写字母
console.log(/^[a-z]*$/.test('ab'));//true
//乱入了字符,返回false
console.log(/^[a-z]*$/.test('ab哈'));//false

//表示只能是英文大小写和数字之中的任意【一个】字符
console.log(/^[a-zA-Z0-9]$/.test('ab'));//false
console.log(/^[a-zA-Z0-9]$/.test('P'));//true
console.log(/^[a-zA-Z0-9]$/.test('p'));//true
console.log(/^[a-zA-Z0-9]$/.test('0'));//true

//表示只能是英文大小写和数字之中的【零个或多个】字符
console.log(/^[a-zA-Z0-9]*$/.test('0'));//true
console.log(/^[a-zA-Z0-9]*$/.test(''));//true

  • 一定要注意取反符号 ^[] 和 边界符号[^]的区别
  • 还有个字符. 表示除了换行符之外所有字符

案例:
用户名校验:只能输入英文大小写、短横线、下划线,并且用户名为6~16位长的字符串。

// 一定牢记: [] 这个中括号表示的N选一
const reg = /^[a-zA-Z0-9-_]{6,16}$/
console.log(reg.test('a999')) //false 长度不够
console.log(reg.test('a99999')) //true
console.log(reg.test('a______'));//true ,除了第一个字符,其余都是下划线
console.log(reg.test('a-------')) //true,除了第一个字符,其余都是短横线

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值