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.一个函数应该只返回一种类型的值 二.可变 ...
随机推荐
- 关于 Touchjs 手势识别事件库 this 关键字与选择器不对称情况
Touchjs 版本 v0.2.14 废话不多,直接看代码,一个拖动实例 <div id="touch-drag"></div> <script ty ...
- EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
前言 终于踏出第一步探索EF Core原理和本质,过程虽然比较漫长且枯燥乏味还得反复论证,其中滋味自知,EF Core的强大想必不用我再过多废话,有时候我们是否思考过背后到底做了些什么,到底怎么实现的 ...
- Javascripte的原型链之基础讲解
一.函数对象与普通对象 var o1 = {}; var o2 =new Object(); var o3 = new f1(); function f1(){}; var f2 = function ...
- Django+xadmin打造在线教育平台(六)
九.课程章节信息 9.1.模板和urls 拷贝course-comments.html 和 course-video.html放入 templates目录下 先改course-video.html,同 ...
- 测试对bug如何分析和定位
如何去区分一个功能测试工程师的水平高和低? 可以从很多个方面去检查,比如测试的思路, 比如测试用例的覆盖度?,比如测试出bug是否能够定位到根因? 上面说的各个方面都很合理,那我们平常如何如更深的定位 ...
- Struts2学习笔记一 简介及入门程序
Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个Sevlet.是Struts1的下一代产品,是在structs1和WebWork技术的基础上进行合并后的全新框架(WebWor ...
- Beta阶段敏捷冲刺报告-DAY4
Beta阶段敏捷冲刺报告-DAY4 Scrum Meeting 敏捷开发日期 2017.11.5 会议时间 11:30 会议地点 羽毛球场 参会人员 全体成员 会议内容 bug的原因讨论, 测试内容安 ...
- Android实验报告
实验名称:Android程序设计 实验时间:2017.5.24 实验人员:20162309邢天岳(结对同学20162313苑洪铭) 实验目的:使用android stuidio开发工具进行基本安卓软件 ...
- 201421123042 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...
- 浅谈数据结构vector
vector: 又名 向量 1.C++中的一种数据结构. 2.是一个类. 3.相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. A.使用时, ...