Blogger Information
Blog 5
fans 0
comment 0
visits 3920
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JavaScript 基础
Original
593 people have browsed it

JavaScript 基础

循环

JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

switch

  1. <script type="text/JavaScript">
  2. var myweek =1;//myweek表示星期几变量
  3. switch(myweek)
  4. {
  5. case 1:
  6. case 2:
  7. document.write("学习理念知识");
  8. break;
  9. case 3:
  10. case 4:
  11. document.write("到企业实践");
  12. break;
  13. case 5:
  14. document.write("总结经验");
  15. break;
  16. case 6:
  17. case 7:
  18. document.write("周六、日休息和娱乐");
  19. default:
  20. document.write("想干点儿啥就干点儿啥")
  21. }
  22. </script>

for

  1. for (语句 1; 语句 2; 语句 3)
  2. {
  3. 被执行的代码块
  4. }

语句 1 (代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

  1. var mymoney,sum=0;//mymoney变量存放不同面值,sum总计
  2. for(mymoney=1;mymoney<=10;mymoney++)
  3. {
  4. sum= sum + mymoney;
  5. }
  6. document.write("sum合计:"+sum);
  7. // 输出结果为 "sum合计:55"

while 循环遍历

和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。

while语句结构:

  1. while(判断条件)
  2. {
  3. 循环语句
  4. }

使用while循环,完成从盒子里取球的动作,每次取一个,共6个球。

  1. <script type="text/javascript">
  2. var num=0; //初始化值
  3. while (num<=6) //条件判断
  4. {
  5. document.write("取出第"+num+"个球<br />");
  6. num=num+1; //条件值更新
  7. }
  8. </script>

do…while 循环遍历

do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。

do…while语句结构:

  1. do
  2. {
  3. 循环语句
  4. }
  5. while(判断条件)

我们试着输出5个数字。

  1. <script type="text/javascript">
  2. num= 1;
  3. do{
  4. document.write("数值为:" + num+"<br />");
  5. num++; //更新条件
  6. }
  7. while (num<=5)
  8. </script>

退出循环break

在while、for、do…while、while循环中使用break语句退出当前循环,直接执行后面的代码。

格式如下:

  1. for(初始条件;判断条件;循环后条件值更新)
  2. {
  3. if(特殊情况)
  4. {break;}
  5. 循环代码
  6. }

当遇到特殊情况的时候,循环就会立即结束。看看下面的例子,输出10个数,如果数值为5,就停止输出。

  1. <script type="text/javascript">
  2. let num;
  3. for(num=1;num<=10;num++){
  4. if(num == 5){
  5. break;
  6. }
  7. document.write("数值为: "+num+"</br>");
  8. }
  9. </script>

考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,退出并且后面成绩不输出, 我们使用break语句,退出循环。

  1. <script type="text/JavaScript">
  2. var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
  3. var i=0;
  4. while(i<mynum.length)
  5. {
  6. if(mynum[i]<60)
  7. {
  8. document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");
  9. break;
  10. }
  11. document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");
  12. i=i+1;
  13. }
  14. </script>

继续循环continue

continue的作用是仅仅跳过本次循环,而整个循环体继续执行。

语句结构:

  1. for(初始条件;判断条件;循环后条件值更新)
  2. {
  3. if(特殊情况)
  4. { continue; }
  5. 循环代码
  6. }

考试成绩输出,如果成绩及格继续输出下个成绩,如果成绩不及格,则不输出该成绩,我们使用continue语句完成

  1. <script type="text/JavaScript">
  2. var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
  3. var i;
  4. for(i=0;i<mynum.length;i++)
  5. {
  6. if(mynum[i]<60)
  7. {
  8. document.write("成绩不及格,不输出!"+"<br>");
  9. continue;
  10. }
  11. document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");
  12. }
  13. </script>

在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级.

学生信息如下:

  1. ('小A','女',21,'大一'), ('小B','男',23,'大三'),
  2. ('小C','男',24,'大四'), ('小D','女',21,'大一'),
  3. ('小E','女',22,'大四'), ('小F','男',21,'大一'),
  4. ('小G','女',22,'大二'), ('小H','女',20,'大三'),
  5. ('小I','女',20,'大一'), ('小J','男',20,'大三')

接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的名字哦。

  1. <script type="text/javascript">
  2. let infos = new Array;
  3. infos[0] = ['小A','女',21,'大一'];
  4. infos[1] = ['小B','男',23,'大三'];
  5. infos[2] = ['小C','男',24,'大四'];
  6. infos[3] = ['小D','女',21,'大一'];
  7. infos[4] = ['小E','女',22,'大四'];
  8. infos[5] = ['小F','男',21,'大一'];
  9. infos[6] = ['小G','女',22,'大二'];
  10. infos[7] = ['小H','女',20,'大三'];
  11. infos[8] = ['小I','女',20,'大一'];
  12. infos[9] = ['小J','男',20,'大三'];
  13. let newArr = new Array;
  14. for(let i=0;i<infos.length;i++){
  15. if(infos[i][3] == '大一'){
  16. newArr.push(infos[i]);
  17. }
  18. }
  19. let girls = new Array;
  20. for(t=0;t<newArr.length;t++){
  21. if(newArr[t][1] == '女'){
  22. girls.push(newArr[t]);
  23. }
  24. }
  25. </script>

函数

定义一个函数

  1. function 函数名( )
  2. {
  3. 函数体;
  4. }

function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能的代码。

函数调用

函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名。

第一种情况:在<script>标签内调用。

  1. <script type="text/javascript">
  2. function add()
  3. {
  4. sum = 1 + 1;
  5. alert(sum);
  6. }
  7. add();//调用函数,直接写函数名。
  8. </script>

第二种情况:
在HTML文件中调用,如通过点击按钮后调用定义好的函数。

  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function add()
  5. {
  6. sum = 5 + 6;
  7. alert(sum);
  8. }
  9. </script>
  10. </head>
  11. <body>
  12. <form>
  13. <input type="button" value="click it" onclick="add()"> //按钮,onclick点击事件,直接写函数名
  14. </form>
  15. </body>
  16. </html>

有参数的函数

上面add函数不能实现任意指定两数相加。其实,定义函数还可以如下格式:

  1. function 函数名(参数1,参数2)
  2. {
  3. 函数代码
  4. }

注意:参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开。

按照这个格式,函数实现任意两个数的和应该写成:

  1. function add(x,y)
  2. {
  3. sum = x + y;
  4. document.write(sum);
  5. }

x和y则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。

例如,计算5、8、3/7、1、4两组三个数的和。

  1. <script type="text/JavaScript">
  2. function add(x,y,z)
  3. {
  4. sum = x + y +z;
  5. document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>");
  6. }
  7. add(5,8,3);
  8. add(7,1,4);
  9. </script>

函数的返回值

上面函数中,通过”document.write”把结果输出来,如果想对函数的结果进行处理怎么办呢?我们只要把”document.write(sum)”这行改成如下代码

  1. <script type="text/JavaScript">
  2. function add(x,y,z)
  3. {
  4. sum = x + y +z;
  5. return sum;
  6. }
  7. console.log(add(5,8,3));
  8. console.log(add(7,1,4));
  9. </script>

函数实例

  1. <script type="text/javascript">
  2. //定义函数
  3. function add(x,y){
  4. return x-y;
  5. }
  6. //函数体,判断两个整数比较的三种情况
  7. function compare(m,n){
  8. let res = add(m,n);
  9. if(res == 0){
  10. return "一样大";
  11. }else if(res > 0){
  12. return m;
  13. }else{
  14. return n;
  15. }
  16. }
  17. let show1 = compare(5,4);
  18. let show2 = compare(6,3);
  19. //调用函数,实现下面两组数中,返回较大值。
  20. document.write(" 5 和 4 的较大值是:"+show1+"<br>");
  21. document.write(" 6 和 3 的较大值是:"+show2);
  22. </script>

事件

鼠标点击事件

onclick=”funcName()”

onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行,通常与按钮一起使用。

比如,我们单击按钮时,触发 onclick 事件,并调用两个数和的函数add2()。代码如下:

  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function add2(){
  5. var numa,numb,sum;
  6. numa=6;
  7. numb=8;
  8. sum=numa+numb;
  9. document.write("两数和为:"+sum); }
  10. </script>
  11. </head>
  12. <body>
  13. <form>
  14. <input name="button" type="button" value="点击提交" onclick="add2()" />
  15. </form>
  16. </body>
  17. </html>

鼠标经过事件

onmouseover=”funcName()”

鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

现实鼠标经过”确定”按钮时,触发onmouseover事件,调用函数info(),弹出消息框,代码如下:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title> 鼠标经过事件 </title>
  6. <script type="text/javascript">
  7. function message() {
  8. let info = document.getElementById("password").value;
  9. if (isEmpty(info)) {
  10. confirm("请输入密码后,再单击确定!");
  11. }
  12. }
  13. /**
  14. * 判断变量是否为空,
  15. * @param {[type]} param 变量
  16. * @return {Boolean} 为空返回true,否则返回false。
  17. */
  18. function isEmpty(param) {
  19. if (param) {
  20. var param_type = typeof (param);
  21. if (param_type == 'object') {
  22. //要判断的是【对象】或【数组】或【null】等
  23. if (typeof (param.length) == 'undefined') {
  24. if (JSON.stringify(param) == "{}") {
  25. return true;//空值,空对象
  26. }
  27. } else if (param.length == 0) {
  28. return true;//空值,空数组
  29. }
  30. } else if (param_type == 'string') {
  31. //如果要过滤空格等字符
  32. var new_param = param.trim();
  33. if (new_param.length == 0) {
  34. //空值,例如:带有空格的字符串" "。
  35. return true;
  36. }
  37. } else if (param_type == 'boolean') {
  38. if (!param) {
  39. return true;
  40. }
  41. } else if (param_type == 'number') {
  42. if (!param) {
  43. return true;
  44. }
  45. }
  46. return false;//非空值
  47. } else {
  48. //空值,例如:
  49. //(1)null
  50. //(2)可能使用了js的内置的名称,例如:var name=[],这个打印类型是字符串类型。
  51. //(3)空字符串''、""。
  52. //(4)数字0、00等,如果可以只输入0,则需要另外判断。
  53. return true;
  54. }
  55. }
  56. </script>
  57. </head>
  58. <body>
  59. <form>
  60. 密码:<input id="password" name="password" type="password">
  61. <input name="确定" type="button" value="确定" onmouseover="message()" />
  62. </form>
  63. </body>
  64. </html>

鼠标移开事件

onmouseout = funcName()

鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

当把鼠标移动到”登录”按钮上,然后再移开时,触发onmouseout事件,调用函数message(),代码如下:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title> 鼠标移出事件 </title>
  6. <script type="text/javascript">
  7. function message() {
  8. let info = document.getElementById("password").value;
  9. console.log(123);
  10. console.log(info.length);
  11. if (info.length < 1) {
  12. confirm("请输入密码后,再单击确定!");
  13. }
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. <form>
  19. 密码:<input id="password" name="password" type="password">
  20. <input name="确定" type="button" value="确定" onmouseout=message() />
  21. </form>
  22. </body>
  23. </html>

获取焦点事件

onfocus=funcName()

当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。

如下代码, 当将光标移到文本框内时,即焦点在文本框内,触发onfocus 事件,并调用函数message()。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>获取焦点事件</title>
  7. <script type="text/javascript">
  8. function message(){
  9. console.log("在此输入姓名!");
  10. }
  11. </script>
  12. </head>
  13. <body>
  14. <form>
  15. 姓名: <input type="text" class="username" value="请输入姓名" onfocus=message()>
  16. </form>
  17. </body>
  18. </html>

失去焦点事件

onblur = funcName()

onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

如下代码, 网页中有用户和密码两个文本框。当前光标在用户文本框内时(即焦点在文本框),在光标离开该文本框后(即失焦时),触发onblur事件,并调用函数message()。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>失去焦点事件</title>
  7. <script type="text/javascript">
  8. function message(){
  9. let name = document.getElementsByClassName("username")[0].value;
  10. if(name.length <1){
  11. alert("姓名不能为空!");
  12. }
  13. }
  14. </script>
  15. </head>
  16. <body>
  17. <form>
  18. 姓名: <input type="text" class="username" placeholder="请输入姓名" onblur=message()>
  19. </form>
  20. </body>
  21. </html>

内容选中事件

onselect = funcName()

选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。

如下代码,当选中用户文本框内的文字时,触发onselect 事件,并调用函数message()。

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title> 内容选中事件 </title>
  6. <script type="text/javascript">
  7. function message() {
  8. alert("您触发了选中事件!");
  9. }
  10. </script>
  11. </head>
  12. <body>
  13. <form>
  14. 个人简介:<br>
  15. <textarea onselect=message() name="summary" cols="60" rows="5">请写入个人简介,不少于200字!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!