下面看一个Promise的简单用法:
接着开始模拟:
首先,_Promise构造函数会接收一个函数resolver并执行,函数中又包含resolve和reject两个参数,然后,_Promise构造函数生成的实例有三种状态,分别是pending(初始值)、fullfilled(成功)和rejected(失败),且由pending变为成功或者失败后状态不可逆。
resolve和reject函数执行的时候会先判断状态,如果是pending则执行,且将状态变为fullfilled或者rejected,并将resolve/reject函数中参数传递给_result,以便then函数调用时使用。
因为有可能存在链式调用,所以执行then函数的返回值需要判断,如果isResolve或者isReject函数返回的是一个新的_Promise实例,则返回这个实例,否则返回当前实例
至此,Promise已经模拟完成~
原生键盘监听事件:按下一次按键,分为三个过程,按下—按住—松开onkeydown:某个键被按下
onkeypress:某个键盘的键被按下或按住
onkeyup:某个键盘的键被松开
使用方法,一般来说,键盘监听是直接在整个页面文档上进行监听的,也就是document上
以下是原生的使用案例
//实际使用
document.onkeydown=function(e){ //对整个页面文档监听
var keyNum=window.event ? e.keyCode :e.which //获取被按下的键值
//判断如果用户按下了回车键(keycody=13)
if(keyNum==13){
alert('您按下了回车')
}
//判断如果用户按下了空格键(keycode=32),
if(keyNum==32){
alert('您按下了空格')
}
}
剩下另外两个按键方法同理
jquery的方式监听键盘事件
jquery的也分为三个过程,但是在事件名称上有所不同
keyup:某个键盘的键被松开
keydown:某个键被按下
keypress:某个键盘的键被按下或按住
JS里添加样式的方法:
1、首先,要创建标签,使用document.createElement函数,如图创建div标签。使用其className设置class,id设置id,style设置样式。
2、样式的设置也可以分项进行。如图是分项设置其left,top,display,position,width几个样式。
3、通过设置标签的innerHTML属性可以直接给其添加子标签以及子标签的样式。当然,也可以分项分层添加标签。
4、设置好标签(如图是div标签,变量名box),使用document.body.appendChild添加标签到body当中。
5、标签添加以后,依然可以修改样式,如图是使用document.getElementById方法根据id获取标签,修改style。
6、标签添加以后,也可以给其添加和删除event处理。如图是使用jQuery给id为img-preview-box的标签添加hover鼠标经过的处理。