一、实验内容
- 使用下面的方法头编写一个函数,返回一年的天数: function numberOfInAYear(year) 编写一个测试程序,显示从 2000 年到 2020 年每年的天数。
function numberOfInAYear(year) {
if (((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0)) {
years=366;
return years;
}
else {
years = 365;
return years;
}
}
for(var i=2000;i<=2020;i++){
years=numberOfInAYear(i)
document.write("第"+i+"年的天数为:"+years+"天");
document.write("<br>")
}
- 一些网站对于密码具有一些规则。编写一个函数,检测字符串是否是一个 有效密码。假定密码规则如下: (1)密码必须至少 8 位字符。 (2)密码仅能包含字母和数字。 (3)密码必须包含至少两个数字。编写一个程序,提示用户输入一个密码,如果符合规则,则显示 Valid Password,否则显示 InvalidPassword。
function valid(password) {
if (password.length >= 8) {
for(var i=0;i<password.length;i++){
if(password[i]>="0" && password[i]<="9"){
j++;
}
if(password[i]>="a" && password[i]<="z"){
k++;
}
if(password[i]>="A" && password[i]<="Z"){
l++;
}
}
if(j>=2 && j+k+l==password.length)
return true;
else
return false;
}
else
return false;
}
var j=k=l=0;
var password = prompt("请输入密码:");
alert(password);
if(valid(password)) {
document.write("Valid Password");
}
else{
document.write("Invalid Password");
}
- 编写一个递归函数,逆序显示一个字符串,函数头如下: functionreverseDisplay(value) 例如,reverseDisplay(“abcd”)显示的是 dcba。编写一个测试程序,提示用户 输入一个字符串,然后显示它的逆序字符。
var string = prompt("请输入一个字符串:");
alert(string);
for (var i=string.length-1;i>=0;i--){
document.write(string[i]);
}
- 使用闭包来实现在在按钮触发点击事件时改变灯泡的状态。 问题:(1)定义一个 mySwitch 表示灯泡状态,默认为 false;(2)编写 change 函数在 switch 为 false 时返回 true,mySwitch 为 true 时返回 false;(3)创建一个 tog 闭包;(4)创建 pressSwitch 函数,在其中调用闭包获取灯泡改变后的状态, 并用提示框显示在网页上;(5)在网页上创建“开关”按钮,当点击按钮时调用 pressSwitch 函数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>使用闭包来实现在在按钮触发点击事件时改变灯泡的状态</title>
<script src="../js/test4.js" type="text/javascript"></script>
</head>
<body>
<button onclick="pressSwitch()">开关</button>
</body>
</html>
function change() {
mySwitch=false;
return function (){
if(mySwitch){
mySwitch=false;
return mySwitch;
}
else{
mySwitch=true;
return mySwitch;
}
}
}
var tog=change();
function pressSwitch() {
value=tog();
if(value)
alert(mySwitch);
else
alert(mySwitch);
}
- 将下面代码改写为匿名回调函数,并编写测试程序。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/682c48e78d18abb97d7a692e83c1ff7c.png#pic_center)
function func(index,callback){
callback(index);
}
func(
88,
function (index){console.log(index)});