javascript学习总结

来源:互联网 发布:golang java 开发效率 编辑:程序博客网 时间:2024/05/15 23:45

JavaScript是由NetScape发明的;语法和Java非常类似;但是注意的一点是:Java和JavaScript没有任何关系。

JavaScript中有许多内置对象,不需要用户创建;


HTML使用小技巧:

(1)如果想要输出一个空的表格,则需要<td>&nbsp</td>

(2)在Editplus中支持快速浏览制作的网页,快捷键是CTRL+B;



一、使用JavaScript



如果要在HTML中引入JavaScript,则有两种方式:


(1)内部引入:JS代码直接在HTML中编写;


导入的结构如下:

[javascript] view plaincopy
  1. <script language="JavaScript">  
  2.     ....  
  3. </script>  

一般JS代码都放在head标签中;


(2)外部引入:JS代码在外部编写后导入到HTML中;

[javascript] view plaincopy
  1. <script language="JavaScript" src="1.js">  
  2. ....  
  3. </script>  


二、JavaScript语法


1.跳出提示框 alert


在JavaScript中,使用的最多的就是alert,此语句会使得浏览器弹出一个提示框;

alert("Hello world!!!" );就能弹出一个Hello world!!!的提示框;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             alert("欢迎光临!");  
  6.             alert("谢谢!");  
  7.         </script>  
  8.     </head>  
  9. </html>  


2.页面输出内容  document.write()


此语句也是非常常用的,可以直接向页面输出内容;比如:

document.write("<h3>Hello world!!!</h3>");   就可以在页面中显示Hello world!!!

此语句和JSP中的out.println()非常类似;


[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             document.write("<h3>Hello world!!!</h3>");  
  6.         </script>  
  7.     </head>  
  8. </html>  


3.定义变量 var


这个特性和python是很类似的,Java中,有许多特定的数据类型,但是在JS中,只需要将任何类型的值赋予var即可;

例如:

(1)var num1 = 5;   num1的类型就是整数;

(2)var str1 = "Hello world!!!";  str1的类型就是字符串;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             var num1 = 5;  
  6.             var str1 = "Hello world!!!";  
  7.             alert(num1);  
  8.             alert(str1);  
  9.         </script>  
  10.     </head>  
  11. </html>  


4.字符串比较


在JavaScript中,比较字符串是否相等只需要通过==即可;而不需要equals();


5.函数声明


在JavaScript中,函数声明非常简单,形式如下:

function(参数...){

[返回值;]

}

注意:

(1)参数也不能声明类型,只需要写明参数的名称即可;

(2)函数声明并看不出是否有返回值,在实现中,如果有返回值,则return;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(i){  
  6.                 alert("欢迎"+i);  
  7.             }  
  8.             fun("xiazdong");  
  9.         </script>  
  10.     </head>  
  11. </html>  

6.数组 Array


这里的数组也是没有类型的;只需要var arr = new Array(...);即可;数组的初始化有两种方式:

(1)静态初始化:var arr = new Array("1","2","3");     直接赋值;

(2)动态初始化:var arr = new Array(length);       只声明长度;后来在赋值;

如果是动态初始化,一开始数组的元素内容是“undefined”;

输出数组内容:注意:arr.length返回数组长度;

for(i=0;i<arr.length;i++){

arr[i]  ....

}

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             var arr = new Array(3);  
  6.             var str = "";  
  7.             for(i=0;i<arr.length;i++){  
  8.                 arr[i]=i;  
  9.             }  
  10.             for(i=0;i<arr.length;i++){  
  11.                 str=str+arr[i]+"、";  
  12.             }  
  13.             alert(str);  
  14.         </script>  
  15.   
  16.     </head>  
  17. </html>  


三、JavaScript事件


JavaScript的事件增加了动态效果,并且一般来说,触发事件后,都会调用某个函数,以完成功能;

"#"表示当前页;

1.body包含的事件


(1)onLoad:打开网页时调用;
(2)onUnLoad:关闭网页时调用;


2.表单提交事件 onSubmit


当点击表单的submit按钮时,就会除触发onSubmit事件,并调用某函数,通常此事件用于验证操作;

补充:

在JavaScript中获得表单控件的值:可以通过层层递进的方式获得;

document是文档的根节点;

比如:

[html] view plaincopy
  1. <form action="" method="post" onSubmit="fun(this)" name="f">  
  2.             <input type="text" name="name"/><br />  
  3.             <input type="radio" name="radiobutton"/><br />  
  4.             <input type="radio" name="radiobutton"/><br />  
  5.             <input type="button" value="显示" onClick="show()"/>  
  6.         </form>  

(1)获得文本控件的值:document.f.name.value即可获得;

(2)获得单选按钮中的“男”按钮的值:document.f.radiobutton[0].value;

(3)获得单选按钮中的“女”按钮的值:document.f.radiobutton[1].value;

(4)判断单选按钮中的“男”按钮是否选中:document.f.radiobutton[0].checked;


3.单击事件  onClick


当单击某个控件,则触发该事件;

(1)在<a href>中触发onClick;

(2)在button中触发onClick;


4.下拉列表事件  onChange


此事件在下拉列表的值改变时触发;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(v){  
  6.                 alert(v);  
  7.             }  
  8.               
  9.         </script>  
  10.         <form action="" method="post"  name="f">  
  11.             EMAIL:<input type="text" name="name"/><br />  
  12.             <select name="favor" onChange="fun(this.value)">  
  13.                 <option value="a">a</option>  
  14.                 <option value="b">b</option>  
  15.                 <option value="c">c</option>  
  16.   
  17.             </select>  
  18.             <input type="submit" value="提交"/>  
  19.         </form>  
  20.     </head>  
  21.     <body >  
  22.           
  23.     </body>  
  24. </html>  

5.失去焦点事件   onblur


此事件用于失去焦点时调用;比如<input type="text" onblur="  fun()"/>的意思是当这个文本框失去焦点时即调用。


四、JavaScript中的正则表达式


在JavaScript中也支持正则,但是使用语法与Java稍微不同;

/正则/.test(字符串);

比如email的验证:

/^\w+@\w+.\w+$/.test(value);

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function validate(f){  
  6.                 var email = f.name.value;  
  7.                 if(/^\w+@\w+.\w+$/.test(email)){  
  8.                     return true;  
  9.                 }  
  10.                 else{  
  11.                     return false;  
  12.                 }  
  13.             }  
  14.               
  15.         </script>  
  16.         <form action="" method="post" onSubmit="return validate(this)" name="f">  
  17.             EMAIL:<input type="text" name="name"/><br />  
  18.               
  19.             <input type="submit" value="提交"/>  
  20.         </form>  
  21.     </head>  
  22.     <body >  
  23.           
  24.     </body>  
  25. </html>  

以上完成了一个简单的验证操作;注意:

观察onSubmit事件,如果需要让返回值有用,需要return;

f.name.focus();可以使文本框获得焦点;

f.name.select();可以选中文本框中的文本;


五、window对象


1.打开新窗口:window.open函数


比如:

window.open("http://www.google.com","width=500,height=500,resizable=no");  打开谷歌网页,并且控制网页大小、尺寸;

window.open("http://www.google.com");普通方法打开网页;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(url){  
  6.                 window.open(url,"页面标题","width=500,height=500,resizable=no");  
  7.             }  
  8.   
  9.         </script>  
  10.           
  11.     </head>  
  12.     <body >  
  13.         <form action="" method="post">  
  14.             <select name="favor" onChange="fun(this.value)">  
  15.                 <option value="#">====请选择====</option>  
  16.                 <option value="http://www.baidu.com">百度</option>  
  17.                 <option value="http://www.google.com">谷歌</option>  
  18.             </select>  
  19.         </form>  
  20.     </body>  
  21. </html>  


2.确认窗口:window.confirm()


比如:

var flag = window.confirm("确认?"); 如果选是,则返回true;否则返回false;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(){  
  6.                 if(window.confirm("确认")){  
  7.                     alert("是");  
  8.                 }  
  9.                 else{  
  10.                     alert("否");  
  11.                 }  
  12.             }  
  13.             fun();  
  14.         </script>   
  15.     </head>  
  16.     <body >     
  17.     </body>  
  18. </html>  

3.页面重定向


通过window.location属性能够完成页面的转换;

只需要window.location="http://www.google.com"就能够将当前网页跳转到谷歌;

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(url){  
  6.                 window.location=url;   //将当前的网页的地址变换  
  7.             }  
  8.         </script>  
  9.           
  10.     </head>  
  11.     <body >  
  12.         <form action="" method="post">  
  13.             <select name="favor" onChange="fun(this.value)">  
  14.                 <option value="#">====请选择====</option>  
  15.                 <option value="http://www.baidu.com">百度</option>  
  16.                 <option value="http://www.google.com">谷歌</option>  
  17.             </select>  
  18.         </form>  
  19.     </body>  
  20. </html>  


4.在子窗口中操作父窗口 opener


通过window.opener.document可以获得父窗口的文档对象;

window.opener.location可以获得父窗口地址;

window.opener.location.reload();重新加载父窗口;

父窗口:

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.             function fun(){  
  6.                 window.open("demo03.html","页面标题","width=500,height=500,resizable=no");  
  7.             }  
  8.         </script>  
  9.           
  10.     </head>  
  11.     <body >  
  12.         <form action="" method="post">  
  13.             <input type="button" value="打开子窗口" onClick="fun()"/>  
  14.         </form>  
  15.     </body>  
  16. </html>  

子窗口:

[javascript] view plaincopy
  1. <html>  
  2.     <head>  
  3.         <title></title>  
  4.         <script language="JavaScript">  
  5.         function fun(){  
  6.             window.opener.location="http://www.baidu.com";  
  7.         }  
  8.         </script>  
  9.     </head>  
  10.     <body >  
  11.         <input type="button" value="跳转到百度" onClick="fun()"/>  
  12.     </body>  
  13. </html>  

原创粉丝点击