Skip to content

高三精读小组课后作业(03期) #15

@VaJoy

Description

@VaJoy

#175-246页

答案将于一周后更新于本贴,大家可以跟帖写答案看自己对基础知识的掌握程度如何。
跟帖回答案的都应自行思考完成,不然没有任何意义

1. 说出下述代码的结果,并说说为什么:

    f = function(){
        return true
    };
    g = function(){
        return false
    };
    (function(){
      if(g() && []==![]){
          f = function(){
              return false
          };
          function g(){
              return true
          }
      }
    })();
    alert(f()); //true or false?

2.请定义一个函数repeat:

function repeat (func, nums, times) {
      //TODO: 完成该函数
}
//该函数可以这么使用:
var a = repeat(alert, 6, 3000);
a("你好");  //alert六次 "你好", 每次间隔3秒

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写一个递归函数,打印出一串斐波那契数列吧:

function fibonacci(n){
   //TODO: 完成该函数
}
var r1 = fibonacci(2);
var r2 = fibonacci(6);

console.log(r1); //0,1,1
console.log(r2); //0,1,1,2,3,5,8

4.请写一个函数,让它能正确返回浏览器视口(viewport)宽度和高度:

function getVpSize(){
    //TODO: 完成该函数
}
var vpSize = getVpSize();
console.log( vpSize .width, vpSize .height );  //能正确打印出视口宽高

5.完成一个跨窗口的DOM操作

在一个页面(比如a.html)中打开一个新窗口b.html(如果被浏览器阻止,请设置浏览器不要拦截它,然后再刷新页面,即确保能正常打开新窗口),然后在a.html中通过脚本修改新开页面b.html中的div背景颜色为红色。(写出a.html页面的实现脚本即可)
b.html示例代码:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>b页面</title>
</head>
<body>
<div>123</div>
</body>
</html>

提示:建议把俩页面放到服务器上_(比如tomcat)_,否则在chrome上会被当作跨域页面被禁止俩页面间的操作。
另外打开新的b页面后,需等b页面的body onload后,a页面才能找到b页面的div

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions