##<center>JavaScript_12 ####日期对象 #####获取日期对象 var date = new Date(); --没有参数即获取当前的时间对象 ####日期对象的方法
- 获取当前的年 date.getYear();
- 获取当前的公元年 date.getFullYear();
- 获取当前的月 date.getMonth()+1;
- 获取当前的日 date.getDate();
- 获取当前的星期 date.getDay();
- 获取当前的时 date.getHours();
- 获取当前的分 date.getMinutes();
- 获取当前的秒 date.getSeconds();
- 获取当前的毫秒 date.getMilliseconds();
- 获取当前时间戳 date.getTime();
- 获取标准时区的时间年 date.getUTCFullYear();
- 获取标准时区的日 date.getUTCDate();
- 获取标准时区的小时 date.getUTCHours();
- 标准时区的日期时间字符串 date.toUTCString();
####时间戳的认识 从Unix元年至今的毫秒数
其他语言时间戳(unix元年至今的秒数) Unix 元年: 1970年一月一日0点0分0秒0毫秒(unix->linux)
- 很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以我们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的
- C语言的产生
- 时间戳应用:法律效力 档案管理 数据库存储
####将时间戳转换为标准格式 var timer = 24324343; //从数据库取出的时间戳 var time = new Date(timer); var year = time.getFullYear(); //通过时间戳获取年 var day = time.getDay(); ####设置时间
date.setTime(14480907809); 使用js设置cookie的保质期
####全局对象
console.log(this); ######全局对象的常用方法
- isNaN();
- parseInt();
- parseFloat();
- Number();
- String(); ...等相关强制转换函数
- eval(); 解析执行字符串
- escape() 对字符串进行编码,可以在所有的计算机上读取该字符串
- unescape(); 字符串解码
- encodeURI(); 将字符串作为URI进行编码。
--防止特殊字符造成URI的传递错误,一般用于页面跳转
不编码的字符82个: !#@$~&*_+-,.:;=?()/0-9a-zA-Z
10.decodeURI(); 对encodeURI()进行解码 <br> 11.encodeURIComponent();将字符串作为URI进行编码
防止URI参数中特殊字符串造成参数读取错误 用来传递参数
不编码的字符有71个
!’()*-._~0-9A-Za-z
12.decodeURIComponent();解码encodeURIComponent
####错误处理 ######常见错误
- 未经定义的变量
- 未区分大小写
- 不匹配的大括号或者圆括号
- 赋值和相等(= ==) --逻辑错误
- 字符串的拼接+ ....细节 ####错误类型 SyntaxError 语法错误 ReferenceError 引用错误(变量未定义) RangeError 超出范围
array.length=-1; 123..toPrecision(22) TypeError 类型使用错误
null.a(); o.floor(); --object URIError EvalError Error 不常见 ####处理方法- 避免错误
- try..catch语句 (可以相互嵌套)
try {
throw new Error('错');
console.log('aaa');
throw new SyntaxError('错了'); //抛出错误
} catch (e) {
console.log(e);
}
3.finally 字句
try{ }catch{ }finally{ }
4.调试
控制台source找到文件使用debugger调试
使用console.log()控制台输出调试
####JavaScript学习内容 ECMAScript 核心语法 DOM 文档对象模型(html5给js更大的权限接口) BOM 浏览器对象模型 ####JavaScript对象 1.内置对象 2.自定义对象(自定义构造函数) 3.宿主对象 1. BOM 2. DOM ####事件 ######事件的绑定方法
- 标准方式
一个dom元素同一个事件可以绑定多个
addEventListener(Event,fn) (非IE)
attachEvent(Event,fn); (IE)
兼容绑定
if(btn.addEventListener){
btn.addEventListener('click',function(){alert(1)});
btn.addEventListener('click',function(){alert(2)});
}else{
btn.attachEvent('onclick',function(){});
}
2.把事件作为元素的方法
同一个事件只能绑定一次,后者会覆盖前者
dom.onclick=fn;
3.把事件作为标签的内部属性
<button onclick=”code..”></button>
####解除事件绑定 标准方式解除 --需要使用函数名,匿名函数不能解除 removeEventListener(event,fn); (非IE) detachEvent(Event,fn); (IE)
其他方式解除绑定 重新定义事件
dom.onclick=function(){}
####自定义绑定事件函数 function bindEvent(dom, event, fn) { if (dom.addEventListener) { dom.addEventListener(event, fn); } else if (dom.attachEvent) { dom.attachEvent("on"+event, fn); } else { alert("您的设备不支持事件"); } } ####自定义解除事件函数 function unbindEvent(dom, event, fn) { if (dom.removeEventListener) { dom.removeEventListener(event, fn); } else if (dom.detachEvent) { dom.detachEvent("on"+event, fn); } else { alert("您的设备不支持事件"); } }