1.题目:
继承
let b = Object.create(a)
b._proto_ === a
create(a)
解答:
Object.create = function (a){
function Person(){
}
Person.protype=a//a赋值给Person.protype,相当于a替换了Person.protype
let b = new Person()
return b
}
2.题目:
<ul id="target">
<li id="1"><div>Hello<div></id>
<li id="2"></id>
<li id="3"></id>
<li id="4"></id>
.....
</ul>
解答:
let $ul = document.getElementById("target")
$ul.addEventListener('click',function(e){
var element = e.target
while(element.tagName !== 'LI'){
if (element.id === 'targt'){
element = null //没有找到li
break
}
element = element.parentNode(这一句重要)
}
console.log(element)
})
3.假设某个楼梯有n级,小明要爬上楼梯,小明爬楼梯的时候可能一次走1步,也可能一次走2步,请写一个function,计算小明走完n级台阶一共有多少种走法。
比如 n = 3,则f(n) =3
走法分别是
1 1 1
2 1
1 2
f(3) = f(2) + f(1)
f(4) = f(3) + f(2)
解法:
法一:递归(不好),复杂度太大,不写前面的N<?条件会栈溢出
function step(n){
if(n<=0){
return 0
}
if(n===1){
return 1
}
if(n===2){
return 2
}
if(n>=3){
return (step(n-1)+step(n-2))
}
}
}
法二:迭代
function step(n){
if(n<=0){
return 0
}
if(n===1){
return 1
}
if(n===2){
return 2
}
var one=1
var two=2
var result
while(n>=3){
result = one + two
one = two
two = result
n = n-1
}
return result
}
class Tab extend Component {
shouldUpdateComponent() {
}
}
shouldUpdateComponent什么意思
组件判断是否重新渲染时调用
5.jsonp不安全你用什么方案解决
cookie和session解决
6.说一下cookie和session
网友评论