[JS中的事件分类]
 1、鼠标事件:
 click/dbclick/mouseover/mouseout/mousemove/mousedown/mouseup

 2、键盘事件:
 keydown: 键盘按下去触发
 keypress: 键盘按下并松开的瞬间触发
 keyup: 键盘抬起时触发

 [注意事项:(了解)]
 ① 执行顺序: keydown——keypress——keyup
 ② 长按时,会循环不断的执行keydown-keypress
 ③ 有keydown事件,不一定有keyup事件(事件触发过程中,鼠标移走,可能就没有keyup)
 ④ keypress只能捕获字母、数字、符号键,不能捕获功能键;keydown/keyup基本可以捕获所有功能键(特殊除外)
 ⑤ keypress区分大小写,keydown和keyup不区分;
 ⑥ keydown/keyup区分主键盘和小键盘,keypres不区分;

 [确定键盘触发按键]
 ① 在触发函数中,传入参数e,代表按键时间;
 ② 通过e.keyCode ,确认按键Ascii码值,进而确定按键;
 ③ 所有浏览器系统的写法(一般不必要):
var evn = e||event; //取到键盘事件
 var code = evn.keyCode||evn.which||evn.charCode;//取到按键编码

【js中的数组】
1、数组的概念:数组是在内存中连续储存多个有序元素的结构 元素的顺序称为下标,
通过下标查找对应元素
2、数组的声明:
① 通过字面量声明var arr1 = [,,,,];
js中同一数组可以储存多种不同类型数据类型(但是一般同一数组,只用于存放同种数据类型);
例如:var arr1 = [1,"1",true,{"name","liumeng"},[1,2]];
② 通过new关键字声明:var arr2 = new Array(参数);
>>>>参数可以是:
a.为空:声明一个没有指定长度的数组;
b.数组的长度:声明一个指定长度的数组,但是数组的长度随时可变可追加;
最大长度为0-(2^32-1);
c.数组默认的n个值:例如:var arr2 = new Array(1,"2",true);//相当于[1,"2",true]

3、数组中元素的读写:
① 读写:通过下标来访问元素,例如arr[2];
② 增删:delete arr[n];删除数组的第n+1个值,但数组长度不变,对应位置值为undefined
arr.push(值);数组最后增加一个值,相当于arr3[arr3.length] = 7;
arr3.unshift(值);数组的第0位插入一个值,其余位数顺延;
arr3.pop();删除数组最后一位与delete不同的是,pop执行后数组长度也会减少一个
相当于arr3.length-=1;
arr3.shift();删除数组第0位,长度也会-1;
4、数组中其他常用方法:
① join("分隔符");将数组用指定分隔符分割,链接为字符串。参数为空时,默认用逗号分隔
② concat();将数组,与多个数组的值链接为新的数组
[1,2].concat([3,4],[5,6])=[1,2,3,4,5,6];//链接时,中括号至多拆一层
[1,2].concat([1,2,[3,4]])=[1,2,1,2,[3,4]]//多层中括号,以二维数组形式存在
③ push();数组最后增加一个数;unshift():数组开始增加一个数【返回数组新的长度】
pop():删除数组最后一个;shift():删除数组第一个【返回被删除的值】
【调用上述方法,原数组均被改变】
④ recerse():【原数组被改变】数组翻转,逆序排列。1234---->4321
⑤ slice(begin,end):【原数组不会被改变】截取数组中的某一部分成为新数组,
>>>传递一个参数:默认为begin index,当这个开始,截到下一个。
>>>传递两个参数:截取从begin到end区间,左闭右开(包含begin不含end)
>>>参数可以为负数,-1表示从右边数第一个,从左边数的最后一个
⑥ sort(function):【原数组会被改变】对数组进行排序;
>>>不指定排序函数:按照数值的ascii码值进行排列
>>>传入排序函数:默认两个参数a,b 如果返回值>0,则a>b;反之返回值<0,则a<b;
arr3.sort(function(a,b){
return a-b; //b在前,a在后 (升序排列)
return b-a; //a在前,b在后 (降序排列)
});
⑦ indexof(value,index):返回value值对应的下标位置,若未找到返回-1
lastindexof(value,index):返回最后一个value值对应的下标位置
>>>若未指定index参数:默认在数组所有元素中查询;
若指定index参数:则从当前index开始,向后查询;

5、二维数组和稀疏数组(了解) :
① 稀疏数组:数组并不含有从0开始到length-1的所有索引(length值比实际元素个数多);
② 二维数组:var arr = [[1,2],[3,4],[5,6]];//相当于三行两列的矩阵
取出二维数组元素:arr[行号][列号];//可使用嵌套循环
6、引用数据类型&基本数据类型:
引用数据类型:(数组/对象)赋值时,是将原变量的地址,赋给新变量。两个变量,实际上操作的是
同一份数据,所以,修改其中一个变量,另一个跟着变化;
基本数据类型:复制时,是将原变量的值赋给新的变量。两个变量,属于不同的内存空间,
修改其中一个

字符串String
 1、属性:str.length 返回字符串的长度
 2、方法:
 .toLowerCase() 所有字符转为小写;
 .toUpperCase() 所有字符转为大写;
 .charAt(n) 截取字符串中第n个字符
 .indexOf("查询子串",index) 查询从index开始的,第一个子串的索引。
 没找到返回-1,同数组的indexOf()方法;
 .substring(begin,end) 截取子串
 >>> 只写一个参数:从begin开始,到最后
 >>> 写两个参数:从begin开始,到end。左闭右开。
 .replace("old","new") 将字符串中,第一个old,替换为new。第一个参数可以为普通字符串,
 也可以为正则表达式(普通字符串将只匹配第一个,正则表达式则根据具体情况区分)。
 .split("") 将字符串,通过制定分隔符分为数组。传入""空字符串,将把单个字符存入数组

Date类
 1、 new Date(); 拿到当前最新时间;
 new Date("2017,4,4,14:58:12") 设置指定时间
 2、常用方法:
 .getFullYear(): 获取4位年份
 .getMonth(): 获取月份 0~11
 .getDate(): 获取一月中的某一天 1~31
 .getDay(): 获取一周中的某一天 0~6
 .getHours() 返回 Date 对象的小时 (0 ~ 23)
   .getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
   .getSeconds() 返回 Date 对象的秒数 (0 ~ 59)

【自定义对象】

 1、基本概念
 ① 对象概念: 对象是包含一系列无序属性和方法的集合;
 ② 对象中的数据,是以键值对形式存在的,以键取值;
 ③ 属性:描述对象特征的一系列变量。【对象中的变量】;
 ④ 方法:描述对象行为的一系列方法。【对象中的函数】;
 2、对象的声明:
 ① 字面量声明: var ovj={
 key1:value1, //属性
 key2:value2
 func:function(){} //方法
 }
 ② 对象中的键,可以是任何数据类型。但,一般用作普通变量名(不需要双引号)即可;
 ③ 对象中的值,可以是任何数据类型。但,字符串的话必须用""包裹;
 ④ 多组键值对之间用英文逗号分隔,键值对的键与值之间英文冒号分隔;
 3、对象中属性和方法的读写
  ① .元素符: 对象内部:this.属性名 this.方法名()
 对象外部: 对象名.属性名 对象名.方法名()

 >>> 对象中,直接写变量名,默认为调用全局变量。如果需调用对想自身属性,则需要通过this关键字

 ② 通过["key"]调用:对象名["属性名"] 对象名["方法名"]()

>>> 如果key中包含特殊字符,则无法使用①方法,必须是用第②种;

 >>> 对象中,直接写变量名,默认为调用全局变量。如果需调用对想自身属性,则需要通过this关键字

 ③删除对象的属性/方法: delete 对象名.属性名/方法名
 ④⑤

【正则表达式】
1、正则表达式包括两部分:
①定义的正则表达式规则 ②正则表达式模式(g/i/m)
2、正则表达式的声明:
① 自变量的声明: var reg = /表达式规则/表达式模式 /white/g
② new关键字声明:var reg = new RegExp("表达式规则","表达式模式");
var reg = new RegExp("white","g")
3、正则表达式常用方法:
.test():检测一个字符串是否匹配某个中正则模式。返回 true 或 false
.exec():
4、正则表达式的常用模式:
g:全局匹配。不加g,默认非全局匹配,只匹配第一个符合条件的字符串
"www".replace(/w/,"#")----> #ww
"www".replace(/w/g,"#")----> ###
i:忽略大小写。不加i,默认为需要匹配大小写
"aAa".replace(/A/g,"#")---->a#a
"aAa".replace(/A/i,"#")---->#Aa
m:匹配多行模式(字符串分多行显示,每行都有开头结尾)。
"abc #bc
abc".replace(/^a/g,"#")---->abc
"abc #bc
abc".replace(/^a/gm,"#")---->#bc

js中的事件,内置对象,正则表达式的更多相关文章

  1. js中常用的内置对象

    Arguments 函数参数集合 arguments[ ] 函数参数的数组 Arguments 一个函数的参数和其他属性 Arguments.callee 当前正在运行的函数     Argument ...

  2. JS中有趣的内置对象-JSON

    前言 在以前的web开发中,我们多数选择纯文本或XML作为我们的提交的数据格式,大多数是XML,少数纯文本.其实从AJAX(Asynchronous JavaScript and XML)的命名我们也 ...

  3. js中常见的内置对象

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. JS中的日期内置函数

    用JS中的日期内置函数实现在页面显示:“今天是:2013年9月26日14:32:45”. var date=new Date(Date.parse('9/26/2013 14:32:45'));   ...

  5. 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法

    今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...

  6. js学习---常用的内置对象(API)小结 :

    内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份  如:2016 getMonth()    返回月份,从0开始 getDate()   返回当前月的第几天,当 ...

  7. 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

    jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端 ...

  8. Servlet中获取JSP内置对象

    方便自己查询,嫌低级的勿喷.... 1.request 在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是Htt ...

  9. Servlet中的jsp内置对象

    Servlet和jsp本质相同,那么为什么还要使用jsp呢,原来的servlet又有什么不好的呢. Servlet和jsp可以做完全相同的事情,就要借助jsp的内置对象们,比如request,resp ...

  10. jsp中9个内置对象与servlet对应关系及四个作用域

    参考:  <jsp&servlet学习笔记.第2版.林信良><JSR-245 JavaServer Pages 2.2 Maintenance Release Specifi ...

随机推荐

  1. python3 time模块与datetime模块

    time模块 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平 ...

  2. 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明

    接上一篇中记录Echarts进度环使用 此处处理不同状态下不同进度环颜色及圈内文字等的相关处理,采用实际案例源码说明 -----------------偶是华丽丽分割线---------------- ...

  3. java内存模型二

    数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性.数据依赖分下列三种类型: 名称 代码示例 说明 写后读 a = 1;b = a; 写一个变量之 ...

  4. springcloud(四):熔断器Hystrix

    说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事. 熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基 ...

  5. [Android] 点击事件的四种写法

    点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...

  6. 加盟全景-加盟VR虚拟现实-全景智慧城市

    作为一个技术整合型产业,VR行业的硬件厂商几乎没有任何技术基础,很多国产虚拟现实VR创业公司基本都是和几家固定的上游零部件提供商合作,全行业都在等待高通骁龙芯片的升级,这和手机行业有几分相似.去年3月 ...

  7. JTable常见用法细则+设置某列可编辑+滚动表格

    JTable常见用法细则 JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处. 一.创建表格控件的各种方式: 1)  调用无参构造函数. JTa ...

  8. Memcached和Redis简介

    前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作 ...

  9. 使用 jQuery.Pin 垂直滚动时固定导航

    ZKEACMS的导航默认是不能固定的,随着页面的滚动而滚动,为了有更好的用户体验,当页面往下滚动时,可以将导航固定在顶端,这样方便用户点击. jQuery Pin 借助jQuery的一个插件 jQue ...

  10. struts2.1.6教程一、准备工作及实例

    1.解压struts-2.1.6-all.zip apps目录:struts2自带的例子程序 docs目录:官方文档. lib 目录:存放所有jar文件. Src 目录:源文%件存放地 2.六个基本包 ...