闭包
今天面试遇到的一道题 拿出来和你们分享
var x = 1;
var y = 2;
methods(8);
alert(x + y); // 他会弹出什么
function methods(y) {
x += 2;
y += 3;
alert(x + y); // 他会弹出什么
}
首先思考一下 出这道题的目的 自然面试官是要考你知识面了
包含内容(全部都是基础,当然这道题,我当时只答对了一半稍多一点点,有点尬)
- 闭包 ,作用域 ,运算符, js线程
大神 勿喷 学习路上慢慢积累
答案在最下方
事件委托
描述场景: 一个列表 有n条数据 用事件委托实现删除
- 下方是一个实现过程
funciton Contact() {
this.init();
}
// 创建一个原型 函数表达式
Contact.prototype.init = function() {
// 这里获取的是ul
var lis = document.querySelector('#J_list');
// addEventListener 绑定一个事件
lis.addEventListener('click', function(e) {
// e.target e.srcElement 关键字事件源
// IE下,event对象有srcElement属性,但是没有target属性;
// Firefox下,event对象有target属性,但是没有srcElement属性.
// 但他们的作用是相当的。
// Firefox下语法为:event.target
var target = e.target || e.srcElement;
// toLowerCase() 把字符串转换成小写
// 说明: delete 这个是class 的类
if (!!target && target.className.toLowerCase()==='delete') {
target.parentNode.parentNode.removeChild(target.parentNode);
}
})
}
事件委托这个纯属个人摘抄 记录一下 顺便占一下位
公布上述结果
从上往下依次弹出 14 、 5
不知道你答对了吗?
评论区等你