js个人笔记简记
正则表达式
创建正则表达式的两种方法:
- Var reg = new RegExp(‘’)
- Var reg = / a/
后面三个参数g:全局匹配 i:不区分大小写 m:多行匹配 开头结尾有用
常见的字符串方法:
indexof() 匹配首个满足条件的索引值,没有返回-1。
search() 检索与正则表达式相匹配的值,有返回索引值,没有返回-1。
substring() 截取字符串
charAt() 截取某一个字符
split() 将字符串分割 生成数组
match()把所有匹配的值取出来 返回值数组
replace() 替换
表单验证方法:
聚焦 onfocus
失焦 onblur
内容改变时调用的方法 onchange
键盘按下 onkeydown
键盘抬起 onkeyup
正则表达式的方法:
test() 检索字符串中指定的值 返回t/f
exec() 检索字符串中返回查找结果中的第一个值 返回数组 没有返回null
lastIndex
在全局匹配模式下 可以指定要查找的字符串 执行多次匹配
每次匹配使用当前正则对象的lastIndex属性值作为在目标字符串中开始查找的起始位置
lastIndex 属性初始位置0 找到匹配项后 lastIndex的值被重置为匹配值的下一个字符的索引位置,用来标识执行匹配的开始查找位置
字符的级别
\d 数字 \D 非数字
\w 字母数字下划线 \W 非字母数字下划线
\s 空 \S 非空
^ 开头
$ 结尾
. 匹配除换行符外的
[a-z]小写字母a-z
[A-Z]大写字母a-z
[0-9]数字
[^]除了方括号里的字符
限定符
*重复零次或多次
+重复一次或多次
?重复零次或一次
{n,m}重复n-m次
Json
将字符串转换为js对象
第一种方法:eval()是js自带的转换json字符串为对象的方法,转换之前必须给字符串添加一个()以避免错误。
第二种方法:JSON.parse()
for in: for(变量 in 对象){
执行的代码
}
Math:
ceil向上取整
floor向下取整
round四舍五入
min最小值
max最大值
random随机数(0-0.99)
Date:
var date=new Date(); new出来一个新对象
getFullYear();
getMonth()+1;
getDate();
getHours();
getMinutes();
getSeconds();
getTime();获取1970年1月1日8:00:00到现在的毫秒数 时间戳
setTime();将时间戳转换成时间
BOM知识点:
加载事件 onload
location.href 地址
window.open打开窗口
window.close关闭窗口
back()后退
history.forward() 历史 可以作前进使用
定时器:setInterval(function(){},时间)
清除定时器:clearInterval
延时器:setTimeout
清除延时器:clearTimeout
获得浏览器宽 window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;2
获得盒子宽高:offsetWidth offsetHeight
substring(截取位置,截取长度)
indexof()获得字符所在索引值
事件
Tab切换:
第一种:
Var btns=document.querySelectorAll(“button”);
Var conts=document.querySelectorAll(“p”);
for(var i=0;i<btns.length;i++){
btns[i].index=I;
btns[i].onclick=function(){
document.querySelector(“.select”).className=””;
document.querySelector(“.show”).calssName=””;
this.calssName=”select”;
conts[this.index].className=”show”;
}
btns[i].onmouseenter=function(){
this.onclick();
}
}
第二种:
Var btns=document.querySelectorAll(“button”);
Var conts=document.querySelectorAll(“p”);
for( var i=0;i<btns.length;i++){
btns[i].onclick=function(){
for(i=0;i<btns.length;i++){
if(btns[i]==this){
this.calssName=”select”;
conts[i].calssName=”show”;
}
else{
btns[i].calssName=””;
conts[i].calssName=””;
}
}
}
btns[i].onmouseenter=function(){
this.onclick();
}
}
阻止事件冒泡:stopPropagation()
阻止默认行为:preventDefault()
DOM
document.getElementById();
document.getElementsByClassName();
document.getElementsByTagName();
document.querySelector/All();
parentNode父节点
nextElementSibling下一个兄弟节点
previousElementSibling上一个兄弟节点
children();子节点
lastElementChild firstElementChild
document.createElement创建节点
appendChild();将元素添加到最后面
insertBefore(插入的子节点,参考的子节点)插入到任意位置
removeChild();移出节点
replaceChild();替换节点
cloneNode()克隆节点 ture false
getAttribute();读取属性
setAttribute();设置属性
innerText添加内容
innerHTML添加内容
className修改类名
数组
Var arr=[];
冒泡排序
Var arr=[2,3,5,6,4,1,8]
for(var j=0;j<arr.length-1;j++){
for(var i=0;i<arr.length-1-j;i++){
if(arr[i]>arr[i+1]){
var c=arr[i];
arr[i]=arr[i+1];
arr[i+1]=c
}
}
}
数组常用方法
push();添加元素到数组后面,并返回长度
shift();添加元素带数组前面,并返回长度
unshift();删除第一个元素,并返回该元素
pop();删除最后一个元素,并返回该元素
splice(开始位置,删除长度,替换内容)
concat合并数组
sort正序 reverse倒序
join将数组转换成字符串
js个人笔记简记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- node.js系列笔记之node.js初识《一》
node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...
- JS面向对象笔记二
菜单导航,<JS面向对象笔记一>, 参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
随机推荐
- 【带着canvas去流浪(10)】文字烟花
目录 一. 文字烟花 二. 动画原理 2.1 像素操作 2.2 烟花生成算法 2.3 计时器 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址 ...
- Linux:Apache服务器的搭建
下载安装并启动apache服务 安装apache服务 yum install -y httpd 启动apache服务 systemctl start httpd.service apache服务器的目 ...
- eNSP仿真软件之VLAN基础配置及Access接口
★Access接口是交换机上用来连接用户主机的接口. 实验内容: 实验步骤: (1) 打开仿真软件eNSP,新建拓扑.根据实验内容建立如下实验拓扑图. (2) 按照如下的编址表对每 ...
- airtest自动化测试工具的环境安装与使用
AirtestIDE的下载与安装 AirtestIDE已经帮你集成了所有的环境,自带录制脚本栏,自动生成脚本,自带编辑器还自带模拟器. 下载地址是Airtest的官网:http://airtest.n ...
- Fastdfs的安装流程
一.修改ip地址 1.查看网卡一的mac地址 cat /etc/udev/rules.d/70-persistent-net.rules 2.修改ip地址文件 cd /etc/sysconfig/ne ...
- RabbitMQ学习笔记(六、RabbitMQ进阶)
目录: 性能 存储机制 内存及磁盘告警 性能: 影响RabbitMQ性能的因素有很多,主要的分为硬件性能与软件性能. )硬件性能:如网络.内存.CPU等等. )软件性能:消息持久化.消息确认.路由算法 ...
- WPF 精修篇 拖拽 DragDrop
原文:WPF 精修篇 拖拽 DragDrop WPF 实现拖拽 效果 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition ...
- DRF--认证和权限
前戏 大家都知道http协议是无状态的,每次发送请求他们怎么知道我们是不是登录过呢?我们可以在用户登录之后给用户一个“暗号”,下次请求的时候带着这个“暗号”来.我们拿自己存的和携带过来的进行对比,如果 ...
- HTML引入JS、CSS的各种方法
直接上代码,相信大家是看得懂的,最好的办法是把代码粘过去,自己修改试试,看看效果! 上面是刚开始的执行效果,相应的html,js,css展示如下: index.html <!DOCTYPE ht ...
- 完美解决MacOS catalina 升级后Vmware黑屏的问题
完美解决MacOS catalina 升级后VMware黑屏 1.关闭MacOS的rootless机制 #Rootless机制将成为对抗恶意程序的最后防线 1.尝试关闭Rootless,重启按住 Co ...