正则表达式

创建正则表达式的两种方法:

 

  1. Var reg = new RegExp(‘’)
  2. 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个人笔记简记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. js读书笔记

    js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...

  4. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  5. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  6. node.js系列笔记之node.js初识《一》

    node.js系列笔记之node.js初识<一> 一:环境说明 1.1 Linux系统CentOS 5.8 1.2 nodejs v0.10.15 1.3 nodejs源码下载地址 htt ...

  7. JS面向对象笔记二

    菜单导航,<JS面向对象笔记一>,  参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...

  8. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  9. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

随机推荐

  1. css样式优先级计算规则

    css样式的优先级分为引入优先级和声明优先级. 引入优先级 引入样式一般分为外部样式,内部样式,内联样式. 外部样式:使用link引入的外部css文件. 内部样式:使用style标签书写的css样式. ...

  2. Jupyter Notebook 使用小记

    简介 Jupyter Notebook 是一款几乎综合所有编程语言,能够把软件代码.计算输出.解释文档.多媒体资源整合在一起的多功能科学计算平台.具有如下优点: 整合所有资源 交互性编程体验 零成本重 ...

  3. IO相关Demo

    这几天复习了IO相关知识 只为记录,好记性不如烂笔头 有误请指正 ありがとうございます. 我的公众号 作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.判断存在,存在改名,并延迟删除,不存在新建 ...

  4. Oracle备份、还原数据库

    备份数据库 创建备份目录(用sys账号),若已创建备份目录,此步可忽略 create directory db_bak as 'D:\ ECIMS_DB' --查看创建的目录 select * fro ...

  5. 四步解决linux上sublime无法输入中文的问题

    转载请标明博客的地址 本人博客和github账号,如果对你有帮助请在本人github项目AioSocket上点个star,激励作者对社区贡献 个人博客:https://www.cnblogs.com/ ...

  6. 3天学会kettle -全网最全的kettle教程

    从资源库开始,详细讲解了kettle的所有控件的用法,无论你是开发人员.运维人员还是测试人员. 通过此教程都可以很快速的掌握kettle,再加上笔者的实例,3天学会kettle的实战操作. 欢迎关注公 ...

  7. xampp配置二级域名通过不同端口访问不同网站

    首先需要在xampp\apache\conf\extra\httpd-vhost.conf中写入配置的二级域名 <VirtualHost *:8081> // 该网站通过监测8081端口 ...

  8. Java入门程序HelloWorld

    程序开发步骤说明 开发环境已经搭建完毕,可以开发我们第一个Java程序了.Java程序开发三步骤:编写.编译.运行.如下图所示 详解: 编写源程序:通俗来说就是我们通过Java的语法自己写的代码 编译 ...

  9. 洛谷 P5686 [CSP-SJX2019]和积和

    传送门 思路 应用多个前缀和推出式子即可 \(30pts\): 首先如果暴力算的话很简单,直接套三层循环就好了(真的是三层!!最后两个\(sigma\)一起算就好了) \[\sum_{l = 1}^{ ...

  10. echarts 中 参数的详讲

    xAxis 属性 xAxis : [ { type : 'category',//坐标轴类型 // show:'',//是否显示 x 轴 //id:'',组件 ID.默认不指定. //gridInde ...