获得徽章 9
- #每天一个知识点# JavaScript 常见事件的触发情况:onchange:用户改变域的内容;
onkeypress:是用户按下数字,字母键的时候,触发!(可以不放开,按住不放的话,会连续触发),系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup :这个事件在用户放开任何先前按下的键盘键时发生。
onkeydown : 这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生展开评论点赞 - #每天一个知识点# function fn(){ var a = b = 1; }
fn();
console.log(b);...①
console.log(a);...②
输出结果b=1;a报错因为var a = b = 1;的执行结果等效于 b = 1;var a = b。var a = b = 1;的执行结果等效于 b = 1;var a = b。展开评论点赞 - #每天一个知识点# 按照CommonJS规范,在任何模块代码的作用域下内置module,require,exports变量,即commonJS四个重要环境变量:require、exports、module、global赞过评论1
- #每天一个知识点# 5.
执行以下程序,会抛出语法错误的式子是(②)
var s = Symbol('key'); ...①
console.log(s + '123'); ...②
var obj = {
[s]:function(){console.log(1);} ...③
}
var b = Reflect.ownKeys(obj); ...④
官方解析:Symbol是不完整的构造函数,创建symbol对象时不需要new操作符,①式不会抛出异常;symbol对象不能用于数据运算,包括+、-、*、/等,②式会抛出异常;symbol对象的唯一作用是作为对象的属性名,这样可以防止属性因重名而覆盖,使用时必须用[],③式不会抛出异常;使用Reflect.ownKeys()可以遍历对象的属性,包括symbol属性,④式不会抛出异常。展开评论点赞 - #每天一个知识点#
for(var i=0;i<5;++i){
setTimeout(function(){
console.log(i+ ' ');
},100);
}
这段代码输出内容 5 5 5 5 5
setTimeout() 是异步的,只有等到同步任务都执行完,才会执行异步的任务,此时i已经变成5。由于共循环了5次,异步队列中存放了五次setTimeout(),会按照队列的顺序依次执行,且共同访问的是同一个变量,所以每次结果都是5。展开赞过评论2