JavaScript 重点笔记
JavaScript 重点笔记
- ## 数组
- // 必须掌握
- - arr.length:获取数组元素的长度
- - arr.splice(起始位置,长度):从数组中添加或删除元素。
- - arr.indexOf():获取指定元素在数组中的位置,不存在返回-1
- - arr.sort([函数:排序规则]):排序(默认采用字符串顺序排序,数字排序则需要通过自定义函数实现)
- - arr.join(str):将arr以指定字符连接成字符串
- // 次重点
- - arr.push():在数组末尾推入指定元素
- - arr.pop():弹出并返回数组末尾元素
- - arr.shift():弹出并返回数组第一个元素
- - arr.unshift():在数组开头处添加指定元素
- // 都必须理解,之后复习,我们能够马上 捡起来
- - arr.concat():合并数组
- - arr.reverse():数组元素顺序反转
- - arr.lastIndexOf():获取指定元素最后一次出现的位置,不存在返回-1
- - arr.slice(起始位置,结束位置):获取数组中指定的片段(不包含结束位置)
- - arr.every():检测数值元素的每个元素是否都符合条件。
- - arr.map():通过指定函数处理数组的每个元素,并返回处理后的数组。
- - arr.filter():检测数值元素,并返回符合条件所有元素的数组。
- - arr.some():检测数组元素中是否有元素符合指定条件。
- ## 正则
- 正则帮助我们 验证 字符是否合法
- var reg = /表达式/模式修正符;
- var reg = new RegExp(表达式,模式修正符);
- 1.元字符
- - [0-9]:任意一个数字
- - [a-z]:任意一个小写字母
- - [x|y]:匹配x或者y(匹配其中的一个)
- - [^0-9]:匹配一个任意非数字
- - [\d]:任意一个数字
- - [\s]:任意一个空白字符(\r\n\t)
- - [\w]:约等于A-Za-z0-9_
- - ^[a-z]{6,12}$:必须是6-12位的字母
- 2.量词
- - * 相当于{0,} 任意数量
- - + 相当于{1,} 至少一个
- - ? 相当于{0,1} 至多一个
- - {6,18}
- 3. 模式修正符
- - i:不区分大小写
- - g:执行全局匹配
- 数组
- var arr = [];
- var arr = new Array();
- arr.length:数组元素的个数
- arr.splice(start,length):删除数组中从start位置开始的length个元素
- arr.join(字符):将数组元素以指定字符连接
- arr.indexOf(值):判断值是否在arr数组中,如果在返回索引值,不在返回-1
- arr.sort():排序(默认是以字符串顺序排序) 13 < 8
- arr.sort(function(a,b){return a-b;}):排序(以数字顺序排序) 13 > 8
- arr.slice(start,end):获取数组中从start位置开始,到end位置结束(不包含)的元素
- 正则
- var reg = /正则表达式/模式修正符;
- var reg = new RegExp(表达式,修正符)
- 三要素:修正符 元字符 量词
- 修正符
- g:全局匹配
- i:忽略大小写(验证码,网站上的一些关键字不区分大小写)
- 元字符
- [0-9]:任意一个数字
- [a-z]:任意一个小写字母
- [A-Z]:任意一个大写字母
- [A-z]:任意一个字母
- [abcd]:abcd中任意一个
- [^abcd]:除abcd之外的任意一个
- [^0-9]:除数字之外的任意一个字符
- 量词:
- {1,3}:至少一个,至多3个
- {1,}:至少一个
- {1}:只能一个
- *:任意数量
- +:至少一个
- ?:至多一个
- ():将括起来的内容作为一个整体
- ^表达式$:完全限制了字符串必须全部符合正则的要求
- .:任意一个字符
- .*:任意数量的任意字符(不包含\n\r)
- .*?:拒绝贪婪匹配
- red|blue|green:或者red或者blue或者green
- \r:回车
- \n:换行
- \t:tab制表符
- 正则表达式的原则:将所有可能的值全部罗列出来,然后进行相关的正则书写
- 元字符
- \w:
- \W:
- reg.test(str):检验str是否符合reg的要求,符合返回true,不符合返回false
- 补充内容
- inp.value
- inp.value = '123456'
- inp.checked
- inp.checked = true
- 新的内容 - 事件
- JS = ECMAScript + BOM + DOM
- JS是一门基于对象和事件驱动的弱类型脚本语言
- 基于对象:万物皆对象(属性+方法)
- 事件驱动:当满足某一个条件的时候,函数自动执行
- btn.onclick = function(){}:当点击的时候,函数自动执行
- inp.onblur = funciton():当input失去焦点的时候,函数自动执行
- 四类事件:
- 鼠标事件
- onclick:当点击的时候,自动执行
- ondblclick:当双击的时候,自动执行
- oncontextmenu:当右击的时候,自动执行
- 键盘事件
- window事件
- 表单事件:onblur
- 全选和全不选的扩展作业完成:不用敲7-9
JavaScript 重点笔记的更多相关文章
- javascript重点笔记
操作符之间的优先级(高到低):算术操作符 >比较操作符 >逻辑操作符 >"="赋值符号 算术运算符
- javascript高级笔记——内含事件,DOM,BOM等
JavaScript高级笔记 1,DOM的简单学习 1.1,功能:用于控制HTML文档的内容: 1.2,获取页面标签对象:Element *document.getElementById(" ...
- 《编写可维护的JavaScript》 笔记
<编写可维护的JavaScript> 笔记 我的github iSAM2016 概述 本书的一开始介绍了大量的编码规范,并且给出了最佳和错误的范例,大部分在网上的编码规范看过,就不在赘述 ...
- Javascript学习笔记四——操作表单
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- C++编程思想重点笔记(下)
上篇请看:C++编程思想重点笔记(上) 宏的好处与坏处 宏的好处:#与##的使用 三个有用的特征:字符串定义.字符串串联和标志粘贴. 字符串定义的完成是用#指示,它容许设一个标识符并把它转化为字符串, ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
随机推荐
- 破解ServiceStack.Redis每小时6000次限制
在.net里我们操作Redis常用的组件就是ServiceStack.Redis了,但是这个从4.0版本后开始商业化了,我们在使用的时候, 会有很多限制: 1.类型限制, 类型限制是20,这个组件自带 ...
- SQL 存储过程 多条件 分页查询 性能优化
最优化查询代码 -- 注意:此处可能会出现 字符串过长问题,所以 必要的情况下请分段处理 set @sql1 =' SELECT * FROM ( select ROW_NUMBER() OVER(O ...
- 我的linux一万小时
这不是一篇鸡汤文,因为我并没有在使用 Linux 一万小时后成为 Linux 达人,甚至在很多方面,我连新手都算不上.我走的这些弯路能篇成一本很有参考价值的反面教材,下面,我在www.itxdl.cn ...
- Java注解学习笔记
我们平常写Java代码,对其中的注解并不是很陌生,比如说写继承关系的时候经常用到@Override来修饰方法.但是@Override是用来做什么的,为什么写继承方法的时候要加上它,不加行不行.如果对J ...
- MYSQL数据库学习九 数据的操作
9.1 插入数据记录 1. 插入完整或部分数据记录: INSERT INTO table_name(field1,field2,field3,...fieldn) VALUES(value1,valu ...
- Android_Jar mismatch! Fix your dependencies
在用adt开发安卓时,添加依赖的library后,经常会出现错误,Jar mismatch! Fix your dependencies 这个错误的原因是.出现了不同版本的jar包(例如:V4包版本不 ...
- eclipse中svn的各种状态图标详解
- 已忽略版本控制的文件.可以通过Window → Preferences → Team → Ignored Resources.来忽略文件. A file ignored by version co ...
- java中的notify和notifyAll有什么区别?
先说两个概念:锁池和等待池 锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入 ...
- DevOps实践之Gitlab安装部署
All GitLab packages are posted to our package server and can be downloaded. We maintain five repos: ...
- Docker深入浅出系列教程——Docker简介
我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析. 本节属于入门简介,从三个小方面进行简单介绍Docker. Do ...