复习
- 滚轮事件 ele.onmousewheel = function(event){ event = event || window.event; var dec = 1; if(event.wheelDelta){ dec = event.wheelDelta >= 120 ? 1 : 0; }else{ dec = event.detail >= 3 ? 0 : 1; } } ele.addEventListener('DOMMouseScroll',function(){ })
(一) cookie
-
服务器用来在客户端存储一些数据,比如用户信息
-
量小 4kb
-
1-设置cookie
document.cookie = "username=aaa"; document.cookie = "pass=123"; var date = new Date(); date.setSeconds(date.getSeconds() + 10); //设置cookie 及过期时间 //document.cookie = "username=aaa;expires=" + date; 封装设置cookie方法: function setCookie(cName, cValue, day) { var date = new Date(); date.setDate(date.getDate() + day); document.cookie = cName + '=' + cValue + ';expires=' + date; } setCookie('username', 'aaa', 1); setCookie('pass', '123', 1);
-
2-获取cookie
var c = document.cookie; console.log(c); //'username=aaa; pass=123' 封装获取cookie的方法: function getCookie(cName) { var cookieObj = {}; var cstring = document.cookie; //'username=aaa; pass=123; city=bbb' --> {username:aaa,pass:123} var ary = cstring.split('; '); //['username=aaa','pass=123'] for (var i = 0; i < ary.length; i++) { var ary1 = ary[i].split('='); cookieObj[ary1[0]] = ary1[1]; } return cookieObj[cName]; } var v = getCookie('pass'); console.log(v);
-
3-删除cookie
/* 删除cookie :原理就是把过期时间设置为前一天*/ function removeCookie(cName) { setCookie(cName, 1, -1); } removeCookie('username');
(二) 正则
-
数据类型: - 基本 string number boolean null undefined - 引用 array object regExp function
-
创建正则
-
字面量创建
正则由匹配的字符和修饰符组成 var reg = /123/ig;
-
new RegExp方式创建
var reg1 = new RegExp('123','ig') var s = 'abc'; var reg3 = new RegExp(s, 'i'); console.log(reg3);
-
修饰符
i : 忽略大小写
g : 全局匹配
-
-
常用的元字符
- \d 0-9数字 - \D 非数字 - \w 数字、字母(大小写)、下划线 - \W 除了数字、字母(大小写)、下划线以外的任意字符 - \s 匹配空格或空白字符 - \S 除了空白以外的字符 - . 除了换行的任意字符 - \. 点本身 - \b 边界 单词的两边和字符串的开头和结尾都是边界 - ^ 开始 - $ 结尾
- 数量
- * 0-多次 - ? 0-1次 - + 1-多次 - {n} n次 - {n,} 至少n次 - {n,m} n-m次
- 或者
- (a|b|c) a,b,c中的一个字符 - [abc] a,b,c中的一个字符 - (abc|xyz|opq) abc或者xyz或者opq中的一组 - [a-z] 匹配小写字母中的一个 - [^a-z] 除了小写字母中以外的任意字符
- 数量
-
正则相关方法
- regExp1.test(string) // true、false
- regExp2.exec(string); //用正则匹配字符串中对应的字符
var str = 'welcome to ujiuye!' var reg = /e/g; console.log(reg.lastIndex); //0 下一次匹配的开始位置 reg.lastIndex = 2; //设置匹配的开始位置 var r = reg.exec(str); console.log(r); //6 console.log(reg.lastIndex); //7 r = reg.exec(str); console.log(r); //16 r = reg.exec(str); console.log(r); //null
-
字符串方法(正则相关):
-
string.match(reg) ; 匹配字符串中符合正则表达式的字符
var str = 'welcome to ujiu-ye!' var reg = /e/g; var r = str.match(reg); //如果正则没有修饰符g ,和调用一次exec结果一样 console.log(r); //['e','e','e'] //如果有修饰符,就是把所有的匹配到的字符放在数组中返回
-
string.split(/[- ,]/); 同时用多个分割符分割字符串
-
string.replace(/123/g,''); 全局替换
-
string.replace(/(123)/g,'$1') 使用分组替换
-
string.search(reg); 返回第一次匹配的字符的索引
-