函数
闭包
箭头函数 (ES6引入)
返回是对象,注意加()
箭头函数this的作用域
|
|
generator yield
|
|
标准对象
特别注意null,Array,{}的类型是object
包装对象
number、boolean和string 有包装对象,使用 new 来创建。
Number()、Boolean和String()被当做普通函数,把任何类型的数据转换为number、boolean和string类型
调用包装对象方法
总结
- 用 parseInt() 或 parseFloat() 来转换任意类型到 number;
- 用 String() 来转换任意类型到 string ,或者直接调用某个对象的 toString() 方法;
- 通常不必把任意类型转换为 boolean 再判断,因为可以直接写 if (myVar) {…};
- typeof 操作符可以判断出 number 、boolean 、string 、function 和 undefined;
- 判断 Array 要使用 Array.isArray(arr) ;
- 判断 null 请使用 myVar === null ;
- 判断某个全局变量是否存在用 typeof window.myVar === ‘undefined’;
- 函数内部判断某个变量是否存在用 typeof myVar === ‘undefined’。
Date 对象
|
|
注意:JavaScript的月份范围用整数表示是0~11
第二种创建一个指定日期和时间的方法是解析一个符合 ISO 8601 格式的字符串
时区
Date对象表示的时间总是按浏览器所在时区显示的,不过我们既可以显示本地时间,也可以显示调整后的UTC时间:
时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。
|
|
正则表达式
|
|
贪婪搜索 与 解除
|
|
全局搜索
|
|
练习email 正则
|
|
练习2
JSON
|
|
面向对象编程
|
|
原型链
一个常用编程模式
|
|
inherit 继承
- 定义新的构造函数,并在内部用call()调用希望“继承”的构造函数,并绑定this;
- 借助中间函数F实现原型链继承,最好通过封装的inherits函数完成;
- 继续在新的构造函数的原型上定义新方法。
|
|
class 继承 (ES6 引入)
|
|
浏览器
- IE 6~11:国内用得最多的IE浏览器,历来对W3C标准支持差。从IE10开始支持ES6标准;
- Chrome:Google出品的基于Webkit内核浏览器,内置了非常强悍的JavaScript引擎——V8。由于Chrome一经安装就时刻保持自升级,所以不用管它的版本,最新版早就支持ES6了;
- Safari:Apple的Mac系统自带的基于Webkit内核的浏览器,从OS X 10.7 Lion自带的6.1版本开始支持ES6,目前最新的OS X 10.11 El Capitan自带的Safari版本是9.x,早已支持ES6;
- Firefox:Mozilla自己研制的Gecko内核和JavaScript引擎OdinMonkey。早期的Firefox按版本发布,后来终于聪明地学习Chrome的做法进行自升级,时刻保持最新;
不同的浏览器对JavaScript支持的差异主要是,有些API的接口不一样,比如AJAX,File接口。对于ES6标准,不同的浏览器对各个特性支持也不一样。
在编写JavaScript的时候,就要充分考虑到浏览器的差异,尽量让同一份JavaScript代码能运行在不同的浏览器中。
排序列表内容
|
|
|
|
表单操作练习
|
|
Promise
理解后写的代码
|
|
串行执行异步任务
|
|
Promise 结合 AJAX
|
|
|
|
笑脸
|
|
从sina获取股票数据,显示k线图
JQuery
如果$这个变量不幸地被占用了,而且还不能改,那我们就只能让jQuery把$变量交出来,然后就只能使用jQuery这个变量:
|
|
filter() 用法
JQuery 对象的 map 的用法
使用jquery 排序一个ul列表
事件
鼠标事件
- click: 鼠标单击时触发;
- dblclick:鼠标双击时触发;
- mouseenter:鼠标进入时触发;
- mouseleave:鼠标移出时触发;
- mousemove:鼠标在DOM内部移动时触发;
- hover:鼠标进入和退出时触发两个函数,相当于mouseenter加上mouseleave。
键盘事件
键盘事件仅作用在当前焦点的DOM上,通常是<input>和<textarea>。
- keydown:键盘按下时触发;
- keyup:键盘松开时触发;
- keypress:按一次键后触发。
其他事件
- focus:当DOM获得焦点时触发;
- blur:当DOM失去焦点时触发;
- change:当<input>、<select>或<textarea>的内容改变时触发;
- submit:当<form>提交时触发;
- ready:当页面被载入并且DOM树完成初始化后触发。
事件的绑定和取消
|
|
综合作业 checkbox 全选 反选 状态控制
|
|
async 和 await
|
|