//显示 function divBlock(){ document.getElementById("demo01").style.display="block"; } //隐藏 function divNone(){ document.getElementById("demo01").style.display="none"; } //显示日期 function onClickEvent01(){ divNone(); document.getElementById('demo').innerHTML=Date(); }
//改变 HTML 内容 function onClickEvent02(){ divNone(); document.getElementById("demo").innerHTML="Hello JavaScript"; }
//能够改变 HTML 属性值 var number=1; function onClickEvent03(){ //显示 divBlock(); //改图片大小 if(number==1){ document.getElementById('domeImage').src='images/0001.png'; //改字体大小 document.getElementById("demo").style.fontSize="25px"; number=2; }else{ document.getElementById('domeImage').src='images/000.png'; //改字体大小 document.getElementById("demo").style.fontSize="35px"; number=1; } }
//变量 function onClickEvent04(){ //隐藏 divNone(); var x=7; var y=8; var z=x + y; document.getElementById("demo").innerHTML="z 的值是:" + z; }
//创建对象 function onClickEvent05(){ //隐藏 divNone(); var person={ firstName : "liveorverday", lastName : "Scandy", age : 30, eyeColor : "blue" }; document.getElementById("demo").innerHTML=person.firstName + " 现在 " + person.age + " 岁。"; }
//提示 function onClickEvent06(){ //隐藏 divNone(); alert("这是个提示信息!!"); }
//字符串方法 function onClickEvent07(){ //隐藏 divNone(); var str="Hello JavaScript, welcome to learn javascript"; var strv=""; //方法返回字符串中指定文本首次出现的索引(位置) var pos=str.indexOf("welcome"); strv=strv+"indexOf:"+pos; //方法返回指定文本在字符串中最后一次出现的索引 var pos01=str.lastIndexOf("welcome"); strv=strv+";lastIndexOf:"+pos01; //检索字符串中的字符串 var pos02=str.search("welcome"); strv=strv+";search:"+pos02; //slice() 提取字符串的某个部分并在新字符串中返回被提取的部分 var pos03=str.slice(18,25); strv=strv+";slice:"+pos03; // substring() 无法接受负的索引 var pos04=str.substring(18,25); strv=strv+";substring:"+pos04; //substr() 方法 开始位置,第二个参数规定被提取部分的长度。 var pos05=str.substr(18,7); strv=strv+";substr:"+pos05; //replace() 方法用另一个值替换在字符串中指定的值 替换字符串内容 var pos06=str.replace("welcome","liveorverday"); strv=strv+";replace:"+pos06; //toUpperCase() 把字符串转换为大写 var pos07=str.toUpperCase(); strv=strv+";toUpperCase:"+pos07; //toLowerCase() 把字符串转换为小写 var pos08=str.toLowerCase(); strv=strv+";toLowerCase:"+pos08; //concat() 连接两个或多个字符串 可用于代替加运算符。下面两行是等效的 var live="连接liveorverday"; var pos09=str.concat("",live); strv=strv+";concat:"+pos09; //trim() 方法删除字符串两端的空白符 var pos10=str.trim(); strv=strv+";trim:"+pos10; //charAt() 方法返回字符串中指定下标(位置)的字符串 var pos11=str.charAt(0); strv=strv+";charAt:"+pos11; //charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码 var pos12=str.charCodeAt(0); strv=strv+";charCodeAt:"+pos12; //length 字符串的长度 var pos13=str.length; strv=strv+";length:"+pos13; document.getElementById("demo").innerHTML=strv; }
//数组 function onClickEvent08(){ //隐藏 divNone(); var cars=["Audi", "BMW", "porsche"]; document.getElementById("demo").innerHTML=cars; }
//数组排序 function onClickEvent09(){ //隐藏 divNone(); var fruits=["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); document.getElementById("demo").innerHTML=fruits; }
//随机 function onClickEvent10(){ //隐藏 divNone(); document.getElementById("demo").innerHTML=Math.random(); }
<!DOCTYPE html> <html> <meta charset="UTF-8"> <meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache" content="no-cache"> <body> <h2>JavaScript实例案例</h2> 例子一 : <button type="button" onclick="onClickEvent01()">显示日期和时间</button> <br/> 例子二 : <button type="button" onclick="onClickEvent02()">改变 HTML 内容</button> <br/> 例子三 : <button type="button" onclick="onClickEvent03()">能够改变 HTML 属性值</button> <br/> 例子四 : <button type="button" onclick="onClickEvent04()">变量</button> <br/> 例子五 : <button type="button" onclick="onClickEvent05()">创建对象</button> <br/> 例子六 : <button type="button" onclick="onClickEvent06()">提示信息</button> <br/> 例子七 : <button type="button" onclick="onClickEvent07()">字符串方法</button> <br/> 例子八 : <button type="button" onclick="onClickEvent08()">数组</button> <br/> 例子九 : <button type="button" onclick="onClickEvent09()">数组排序</button> <br/> 例子十 : <button type="button" onclick="onClickEvent10()">随机</button> <br/> <!--显示结果--> <div style="height: 100px;"></div> 显示结果 <div id="demo">你好javascript</div> <div id="demo01" style="display: none"> <img id="domeImage" border="0" src="images/000.png" height="20%" width="20%" style="text-align:center;"/> </div> </body> </html> <script type="text/javascript"> //随机 function onClickEvent10(){ //隐藏 divNone(); document.getElementById("demo").innerHTML=Math.random(); } //数组排序 function onClickEvent09(){ //隐藏 divNone(); var fruits=["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); document.getElementById("demo").innerHTML=fruits; } //数组 function onClickEvent08(){ //隐藏 divNone(); var cars=["Audi", "BMW", "porsche"]; document.getElementById("demo").innerHTML=cars; } //字符串方法 function onClickEvent07(){ //隐藏 divNone(); var str="Hello JavaScript, welcome to learn javascript"; var strv=""; //方法返回字符串中指定文本首次出现的索引(位置) var pos=str.indexOf("welcome"); strv=strv+"indexOf:"+pos; //方法返回指定文本在字符串中最后一次出现的索引 var pos01=str.lastIndexOf("welcome"); strv=strv+";lastIndexOf:"+pos01; //检索字符串中的字符串 var pos02=str.search("welcome"); strv=strv+";search:"+pos02; //slice() 提取字符串的某个部分并在新字符串中返回被提取的部分 var pos03=str.slice(18,25); strv=strv+";slice:"+pos03; // substring() 无法接受负的索引 var pos04=str.substring(18,25); strv=strv+";substring:"+pos04; //substr() 方法 开始位置,第二个参数规定被提取部分的长度。 var pos05=str.substr(18,7); strv=strv+";substr:"+pos05; //replace() 方法用另一个值替换在字符串中指定的值 替换字符串内容 var pos06=str.replace("welcome","liveorverday"); strv=strv+";replace:"+pos06; //toUpperCase() 把字符串转换为大写 var pos07=str.toUpperCase(); strv=strv+";toUpperCase:"+pos07; //toLowerCase() 把字符串转换为小写 var pos08=str.toLowerCase(); strv=strv+";toLowerCase:"+pos08; //concat() 连接两个或多个字符串 可用于代替加运算符。下面两行是等效的 var live="连接liveorverday"; var pos09=str.concat("",live); strv=strv+";concat:"+pos09; //trim() 方法删除字符串两端的空白符 var pos10=str.trim(); strv=strv+";trim:"+pos10; //charAt() 方法返回字符串中指定下标(位置)的字符串 var pos11=str.charAt(0); strv=strv+";charAt:"+pos11; //charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码 var pos12=str.charCodeAt(0); strv=strv+";charCodeAt:"+pos12; //length 字符串的长度 var pos13=str.length; strv=strv+";length:"+pos13; document.getElementById("demo").innerHTML=strv; } //提示 function onClickEvent06(){ //隐藏 divNone(); alert("这是个提示信息!!"); } //创建对象 function onClickEvent05(){ //隐藏 divNone(); var person={ firstName : "liveorverday", lastName : "Scandy", age : 30, eyeColor : "blue" }; document.getElementById("demo").innerHTML=person.firstName + " 现在 " + person.age + " 岁。"; } //变量 function onClickEvent04(){ //隐藏 divNone(); var x=7; var y=8; var z=x + y; document.getElementById("demo").innerHTML="z 的值是:" + z; } //能够改变 HTML 属性值 var number=1; function onClickEvent03(){ //显示 divBlock(); //改图片大小 if(number==1){ document.getElementById('domeImage').src='images/0001.png'; //改字体大小 document.getElementById("demo").style.fontSize="25px"; number=2; }else{ document.getElementById('domeImage').src='images/000.png'; //改字体大小 document.getElementById("demo").style.fontSize="35px"; number=1; } } //改变 HTML 内容 function onClickEvent02(){ divNone(); document.getElementById("demo").innerHTML="Hello JavaScript"; } //显示日期 function onClickEvent01(){ divNone(); document.getElementById('demo').innerHTML=Date(); } //显示 function divBlock(){ document.getElementById("demo01").style.display="block"; } //隐藏 function divNone(){ document.getElementById("demo01").style.display="none"; } </script>
TML 属性
HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息。
属性总是以名称/值对的形式出现,比如:name="value"。
属性总是在 HTML 元素的开始标签中规定。
属性实例
HTML 链接由 <a> 标签定义。链接的地址在 href 属性中指定:
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<a href="http://www.w3school.com.cn">
This is a link</a>
</body>
</html>
[/demo]
更多 HTML 属性实例
属性例子 1:
<h1> 定义标题的开始。
<h1 align="center"> 拥有关于对齐方式的附加信息。
[demo]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1 align="center">This is heading 1</h1>
<p>上面的标题在页面中进行了居中排列。上面的标题在页面中进行了居中排列。上面的标题在页面中进行了居中排列。</p>
</body>
</html>
[/demo]
属性例子 2:
<body> 定义 HTML 文档的主体。
<body bgcolor="yellow"> 拥有关于背景颜色的附加信息。
[demo]
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html />
<meta http-equiv="Content-Language" content="zh-cn" />
</head>
<body bgcolor="yellow">
<h2>请看: 改变了颜色的背景。</h2>
</body>
</html>
[/demo]
属性例子 3:
<table> 定义 HTML 表格。(您将在稍后的章节学习到更多有关 HTML 表格的内容)
<table border="1"> 拥有关于表格边框的附加信息。
HTML 提示:使用小写属性
属性和属性值对大小写不敏感。
不过,万维网联盟在其 HTML 4 推荐标准中推荐小写的属性/属性值。
而新版本的 (X)HTML 要求使用小写属性。
始终为属性值加引号
属性值应该始终被包括在引号内。双引号是最常用的,不过使用单引号也没有问题。
在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:
name='Bill "HelloWorld" Gates'
下面列出了适用于大多数 HTML 元素的属性:
属性 值 描述
class classname 规定元素的类名(classname)
id id 规定元素的唯一 id
style style_definition 规定元素的行内样式(inline style)
title text 规定元素的额外信息(可在工具提示中显示)
HTML 全局属性
HTML 属性赋予元素意义和语境。
下面的全局属性可用于任何 HTML 元素。
HTML 全局属性
属性 描述
accesskey 规定激活元素的快捷键。
class 规定元素的一个或多个类名(引用样式表中的类)。
contenteditable 规定元素内容是否可编辑。
contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。
data-* 用于存储页面或应用程序的私有定制数据。
dir 规定元素中内容的文本方向。
draggable 规定元素是否可拖动。
dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接。
hidden 规定元素仍未或不再相关。
id 规定元素的唯一 id。
lang 规定元素内容的语言。
spellcheck 规定是否对元素进行拼写和语法检查。
style 规定元素的行内 CSS 样式。
tabindex 规定元素的 tab 键次序。
title 规定有关元素的额外信息。
translate 规定是否应该翻译元素内容。
HTML 事件属性
Window 事件属性
针对 window 对象触发的事件(应用到 <body> 标签):
属性 值 描述
onafterprint script 文档打印之后运行的脚本。
onbeforeprint script 文档打印之前运行的脚本。
onbeforeunload script 文档卸载之前运行的脚本。
onerror script 在错误发生时运行的脚本。
onhaschange script 当文档已改变时运行的脚本。
onload script 页面结束加载之后触发。
onmessage script 在消息被触发时运行的脚本。
onoffline script 当文档离线时运行的脚本。
ononline script 当文档上线时运行的脚本。
onpagehide script 当窗口隐藏时运行的脚本。
onpageshow script 当窗口成为可见时运行的脚本。
onpopstate script 当窗口历史记录改变时运行的脚本。
onredo script 当文档执行撤销(redo)时运行的脚本。
onresize script 当浏览器窗口被调整大小时触发。
onstorage script 在 Web Storage 区域更新后运行的脚本。
onundo script 在文档执行 undo 时运行的脚本。
onunload script 一旦页面已下载时触发(或者浏览器窗口已被关闭)。
Form 事件
由 HTML 表单内的动作触发的事件(应用到几乎所有 HTML 元素,但最常用在 form 元素中):
属性 值 描述
onblur script 元素失去焦点时运行的脚本。
onchange script 在元素值被改变时运行的脚本。
oncontextmenu script 当上下文菜单被触发时运行的脚本。
onfocus script 当元素失去焦点时运行的脚本。
onformchange script 在表单改变时运行的脚本。
onforminput script 当表单获得用户输入时运行的脚本。
oninput script 当元素获得用户输入时运行的脚本。
oninvalid script 当元素无效时运行的脚本。
onreset script 当表单中的重置按钮被点击时触发。HTML5 中不支持。
onselect script 在元素中文本被选中后触发。
onsubmit script 在提交表单时触发。
Keyboard 事件
属性 值 描述
onkeydown script 在用户按下按键时触发。
onkeypress script 在用户敲击按钮时触发。
onkeyup script 当用户释放按键时触发。
Mouse 事件
由鼠标或类似用户动作触发的事件:
属性 值 描述
onclick script 元素上发生鼠标点击时触发。
ondblclick script 元素上发生鼠标双击时触发。
ondrag script 元素被拖动时运行的脚本。
ondragend script 在拖动操作末端运行的脚本。
ondragenter script 当元素元素已被拖动到有效拖放区域时运行的脚本。
ondragleave script 当元素离开有效拖放目标时运行的脚本。
ondragover script 当元素在有效拖放目标上正在被拖动时运行的脚本。
ondragstart script 在拖动操作开端运行的脚本。
ondrop script 当被拖元素正在被拖放时运行的脚本。
onmousedown script 当元素上按下鼠标按钮时触发。
onmousemove script 当鼠标指针移动到元素上时触发。
onmouseout script 当鼠标指针移出元素时触发。
onmouseover script 当鼠标指针移动到元素上时触发。
onmouseup script 当在元素上释放鼠标按钮时触发。
onmousewheel script 当鼠标滚轮正在被滚动时运行的脚本。
onscroll script 当元素滚动条被滚动时运行的脚本。
Media 事件
由媒介(比如视频、图像和音频)触发的事件(适用于所有 HTML 元素,但常见于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):
属性 值 描述
onabort script 在退出时运行的脚本。
oncanplay script 当文件就绪可以开始播放时运行的脚本(缓冲已足够开始时)。
oncanplaythrough script 当媒介能够无需因缓冲而停止即可播放至结尾时运行的脚本。
ondurationchange script 当媒介长度改变时运行的脚本。
onemptied script 当发生故障并且文件突然不可用时运行的脚本(比如连接意外断开时)。
onended script 当媒介已到达结尾时运行的脚本(可发送类似“感谢观看”之类的消息)。
onerror script 当在文件加载期间发生错误时运行的脚本。
onloadeddata script 当媒介数据已加载时运行的脚本。
onloadedmetadata script 当元数据(比如分辨率和时长)被加载时运行的脚本。
onloadstart script 在文件开始加载且未实际加载任何数据前运行的脚本。
onpause script 当媒介被用户或程序暂停时运行的脚本。
onplay script 当媒介已就绪可以开始播放时运行的脚本。
onplaying script 当媒介已开始播放时运行的脚本。
onprogress script 当浏览器正在获取媒介数据时运行的脚本。
onratechange script 每当回放速率改变时运行的脚本(比如当用户切换到慢动作或快进模式)。
onreadystatechange script 每当就绪状态改变时运行的脚本(就绪状态监测媒介数据的状态)。
onseeked script 当 seeking 属性设置为 false(指示定位已结束)时运行的脚本。
onseeking script 当 seeking 属性设置为 true(指示定位是活动的)时运行的脚本。
onstalled script 在浏览器不论何种原因未能取回媒介数据时运行的脚本。
onsuspend script 在媒介数据完全加载之前不论何种原因终止取回媒介数据时运行的脚本。
ontimeupdate script 当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)运行的脚本。
onvolumechange script 每当音量改变时(包括将音量设置为静音)时运行的脚本。
onwaiting script 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本
.计算10的阶乘:
// 计算10的阶乘
// 声明阶乘,赋值
var jc=1;
// 创建循环语句
for(i=1;i <=10;i++){
jc *=i;
}
// 打印结果
console.log(jc); // 3628800
2.计算圆的周长、半径:
// 假设半径为80
var r=80;
// 周长公式
var h=2*Math.PI*r;
// 结果保留3位小数
var h=h.toFixed(3);
// 面积公式
var s=Math.PI*r*r;
var s=s.toFixed(3);
3.为抵抗洪水,战士共战斗89小时,计算89小时为多少天加多少小时:
// 总小时数
var h=89;
// 天数
var day=parseInt(h/24);
// 余下的小时数
var hour=h%24;
4.计算80华氏温度等于多少摄氏度:
// 声明华氏温度hua,赋值80
var hua=80;
// 计算摄氏度
var she=5/9.0*(hua-32);
// 保留3位小数
she=she.toFixed(3);
5.90度转化为弧度是多少(结果保留3位小数):
var angle=90;
//计算弧度
var radian=Math.PI/180*angle;
//弧度值保留3位小数
var radian=radian.toFixed(3);
6.输入分数,判定成绩等级(if、switch两种写法):
//if 写法:
// 手动输入一个成绩
var ach=10;
// 判断语句
if(ach >=0 && ach < 60){
console.log("成绩不合格");
}else if(ach >=60 && ach < 80){
console.log("成绩良好");
}else if(ach >=80 && ach < 100){
console.log("成绩优秀");
}else if(ach==100){
console.log("太棒了孩子");
}else{
console.log("请输入1-100的数字");
}
//手动输入一个成绩
var ach=88;
switch(true){
case ach >=0 && ach < 60:
console.log("成绩不合格");
break;
case ach >=60 && ach < 80:
console.log("成绩良好");
break;
case ach >=80 && ach < 100:
console.log("成绩优秀");
break;
case ach==100:
console.log("太棒了孩子");
break;
default:
console.log("请输入1-100的数字");
}
7.输入月份,显示当月天数,利用case穿透:
//手动赋值
var mon=6;
//创建分支
switch(mon){
// 2月
case 2:
console.log("闰年29天、平年28天");
break;
// 31天
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log("本月有31天");
break;
// 30天
case 4:
case 6:
case 9:
case 11:
console.log("本月有30天");
break;
default:
console.log("请输入1-12的数字");
}
8.根据日期,判断这天是这年的第几天(利用switch穿透):
var year=2016;
var mon=2;
var day=11;
var allday=0;
switch(mon - 1){
case 11:
allday +=30;
case 10:
allday +=31;
case 9:
allday +=30;
case 8:
case 7:
allday +=31;
case 6:
allday +=30;
case 5:
allday +=31;
case 4:
allday +=30;
case 3:
allday +=31;
case 2:
if(year % 4==0 && year % 100 !=0 || year % 400==0){
allday +=29;
}else{
allday +=28;
}
case 1:
allday +=31;
break;
}
console.log(allday + day); // 42
9.入职薪水10k,每年涨幅5%,50年后工资多少?
var sal=10;
// 创建循环
for(var i=1;i <=50;i++){
sal *=1.05;
}
10.打印100以内奇数,并打印所有奇数之和:
var sum=0;
// 创建循环
for(var i=1;i <=100;i++){
// 判断条件
if(i % 2==1){
// 打印100内奇数
console.log(i); // 1 3 5 7 ... 97 99
// 计算100内奇数和
sum +=i;
}
}
11.在页面打印20-80 之间能被 3 整除的数,每5个一行
var j=0;
// 创建循环
for(var i=20;i <=80;i++){
// 创建判断
if(i % 3==0){
// 打印结果
document.write(i+" ");
j++;
// 结果5个换行
if(j % 5==0){
document.write("<br>");
}
}
}
12.打印100-200之间所有能被3或7整除的数:
for(var i=100;i <=200;i++){
// 创建判断体
if(i % 3==0 && i % 7==0){
// 打印结果
console.log("100-200之间所有能被3或7整除的数为:"+i); // 105 126 147 168 189
}
}
13.求1+2!+3!+…+20!的值:
// 声明的初值为0
varsum=0;
// 创建循环
for(var i=0;i <=20;i++){
// 声明加数的初值为1
var num=1;
// 创建内部循环
for(var j=1;j <=i;j++){
num *=j;
}
// 求每个加数和
sum +=num;
}
14.求1/1-1/2+1/3-1/4…1/100的和:
var sum=0;
// 创建循环
for(var i=1;i <=100;i++){
if(i % 2==1){
// 奇数倒数
sum +=(1/i);
}else{
// 偶数倒数
sum -=(1/i);
}
}
15.有一个棋盘,有64个方格,在第一个方格里面放一粒芝麻重量0.00001kg,第二个里面放两粒,第三个里面放4粒,求棋盘上所有芝麻粒之和:
var sum=0;
var chu;
// 创建循环
for(var i=0;i < 64;i++){
// 2的i次方累加
sum +=Math.pow(2,i);
}
// 换算
chu=sum * 0.00001;
16.99乘法表:
// 行
for(var i=1;i<=9;i++){
// 列
for(var j=1;j<=i;j++){
// 打印结果
document.write(i+"*"+j +"="+i*j+" ");
}
// 每行后换行
document.write("<br>");
}
17.编写一个函数,计算两个数的和差积商:
// 创建函数
function num(a,b,fh){
// 创建分支
switch(fh){
case "+":
console.log("两个数的和为:" + a+b);
break;
case "-":
console.log("两个数的差为:" + a-b);
break;
case "*":
console.log("两个数的积为:" + a*b);
break;
case "/":
console.log("两个数的商为:" + a/b);
break;
}
}
num(66,88,"*");
18.编写一个函数,在页面上打印一个N行M列的表格,表格内容填充0-100的随机数字:
// 创建函数
function bg(m,n){
// 打印表格标签
document.write("<table>");
// 创建行循环
for(var i=0;i<=m;i++){
// 输出行标签
document.write("<tr>");
// 创建列循环
for(var j=0;j<=n;j++){
// 输出列标签
document.write("<td>");
// 输出随机数字
document.write(Math.round(Math.random()*100));
document.write("</td>");
}
document.write("/<tr>");
}
document.write("</table>")
}
bg(5,5);
19.将一个篮球从5米高处下落,每次上升为原来的60%,求经过多少次下落,高度小于0.1米:
var h=5;
var cs=1;
// 创建循环
while (true) {
h *=0.6;
// 判断
if(h < 0.1){
// 打印结果
console.log(cs);
// 终止
break;
}
// 次数
cs++;
}
20.在页面输入任意数字,点击按钮后计算该数字的阶乘:
function jc (n){
if(n==1){
return 1;
}
return jc(n - 1)*n;
}
var btn=document.getElementById("btn");
var ipt=document.getElementById("ipt");
btn.onclick=function(){
var m=parseInt(ipt.value);
var result=jc(m);
console.log("此数字的阶乘为:"+result);
}
21.根据1,1,2,3,5,8,13,21…计算第10位(斐波那契):
function fn(n){
if(n===1 || n===2){
return 1;
}else{
return fn(n - 1) + fn(n - 2);
}
}
var num=fn(10);
22.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+1/6+…+1/n;当输入n为奇数时,调用函数1/1+1/3+1/5+…+1/n:
function fn(n){
if (n==1){
return 1;
}else if(n==2){
return 1/2;
}
return 1/n + fn(n - 2);
}
var btn=document.getElementById("btn");
var ipt=document.getElementById("ipt");
btn.onclick=function(){
var n=parseInt(ipt.value);
var sum=fn(n);
console.log("和为:"+sum);
}
23.编写一个函数,计算任意两个数字之间所能组成的奇数的个数,数字必须是个位数,比如:计算0-3之间能组成的奇数是:01,03,13,21,23,31:
function num(n,m){
var count=0; // 记录奇数的个数
if (n > m){
var i=n;
n=m;
m=i;
}
console.log(n,m);
for(var j=n;j<=m;j++){
if(j%2==1){
for(var k=n;k<=m;k++){
var str=""+k+j;
console.log(str);
// 每产生第一个奇数,就++
count++;
}
}
}
return count;
}
24.编写一个函数:4位数,每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,输入原文,输出密文.例:8848 → 3933:
// 创建函数
function fn(n){
var gw=parseInt(n/1) % 10;
var sw=parseInt(n/10) % 10;
var bw=parseInt(n/100) % 10;
var qw=parseInt(n/1000) % 10;
console.log("您输入的原文是:" + qw,bw,sw,gw);
// 每位数字都加上5,然后用除以10
gw=(gw + 5) % 10;
sw=(sw + 5) % 10;
bw=(bw + 5) % 10;
qw=(qw + 5) % 10;
// 交换十位、百位
var num1=sw;
sw=bw;
bw=num1;
// 交换个位、千位
var num2=gw;
gw=qw;
qw=num2;
return "" + qw + bw + sw + gw;
}
console.log("密文为:" + fn(8848));
25.编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组:
*请认真填写需求信息,我们会在24小时内与您取得联系。