Open VaJoy opened 8 years ago
1
应该alert出false
, 因为function g
在第七行开始的匿名函数中被提升了, 导致if()
表达式中的两个式子值都为true
.
2
function repeat(func, nums, times){
return function(argv){
setTimeout(function lambda(){
func(argv);
if(nums--)setTimeout(lambda, times)
}, 0)
}
}
3
function fibonacci(len){
var arr = [0, 1];
for(var i = 2; i < len; i ++){
arr[i] = arr[i-1] + arr[i-2];
}
return arr;
}
呆尾递归优化的递归版本:
function fibonacci(len){
var arr = [0, 1], index = 1;
return (function loop(arr, elem1, elem2){
arr.push(elem1 + elem2);
if(index++ < len){
loop(arr, arr[index-1], arr[index])
}
return arr;
})(arr, 0, 1);
}
4
现在好像都是直接用innerHeight
和innerWidth
了...
5
现在好像都是用postMessage
...
175-246页
答案将于一周后更新于本贴,大家可以跟帖写答案看自己对基础知识的掌握程度如何。 跟帖回答案的都应自行思考完成,不然没有任何意义
1. 说出下述代码的结果,并说说为什么:
2.请定义一个函数repeat:
3.听说过斐波那契数列吗?很多笔试题上都会出现它的哦。
斐波那契数列又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、…
它有这样的一个递归关系:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 那么请你用js写一个递归函数,打印出一串斐波那契数列吧:
4.请写一个函数,让它能正确返回浏览器视口(viewport)宽度和高度:
5.完成一个跨窗口的DOM操作
在一个页面(比如
a.html
)中打开一个新窗口b.html
(如果被浏览器阻止,请设置浏览器不要拦截它,然后再刷新页面,即确保能正常打开新窗口),然后在a.html
中通过脚本修改新开页面b.html
中的div
背景颜色为红色。(写出a.html
页面的实现脚本即可)b.html
示例代码:提示:建议把俩页面放到服务器上(比如tomcat),否则在chrome上会被当作跨域页面被禁止俩页面间的操作。 另外打开新的b页面后,需等b页面的body onload后,a页面才能找到b页面的
div
哦