// Call、apply、bind的区别
// 事件流、事件委托 <ul click><li>1</li><li>2</li>...</ul>, target, currentTarget
// addEventListener
// 作用域、作用域链、运算符优先级
// if(! "a" in window){
// if(! ("a" in window)){
// var a = 1;
// }
// alert(a);
// 交换两个元素
// [a,b] = [b,a];
// 浮动怎么产生、清除浮动
// Q: absolute?float. BFC
// sessionStorage、localStorage
// localStorage可设置过期时间?
// hostA-》href:hostA-》href:hostB
// position有哪些取值,都有什么区别?哪些会脱离文档流?
// static absolute fixed relative
// css盒模型
// 假设该链表只给出了头结点head: INode,在不改变链表结构的前提下,
// 请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。
// 若查找成功,输出该结点的value值,并返回true;否则,只返回false。
function findNodeFromTail(head, k) {
// code
let first = last = head;
for(let i = 0;i < k; i++){
first = first.next;
}
while(first !== null){
first = first.next;
last = last.next;
}
if(last !== null){
console.log(last.val);
console.log(true);
}else{
console.log(false);
}
}
// https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener