JavaScript學習總結
JavaScript是由NetScape發明的;語法和Java非常類似;但是注意的一點是:Java和JavaScript沒有任何關系。
JavaScript中有許多內置對象,不需要用戶創建;
HTML使用小技巧:
(1)如果想要輸出一個空的表格,則需要<td> </td>
(2)在Editplus中支持快速瀏覽制作的網頁,快捷鍵是CTRL+B;
一、使用JavaScript
如果要在HTML中引入JavaScript,則有兩種方式:
(1)內部引入:JS代碼直接在HTML中編寫;
導入的結構如下:
<script language="JavaScript">
....
</script> 一般JS代碼都放在head標簽中;
(2)外部引入:JS代碼在外部編寫后導入到HTML中;
<script language="JavaScript" src="1.js"> .... </script>
二、JavaScript語法
1.跳出提示框 alert
在JavaScript中,使用的最多的就是alert,此語句會使得瀏覽器彈出一個提示框;
alert("Hello world!!!" );就能彈出一個Hello world!!!的提示框;
<html>
<head>
<title></title>
<script language="JavaScript">
alert("歡迎光臨!");
alert("謝謝!");
</script>
</head>
</html>2.頁面輸出內容 document.write()
此語句也是非常常用的,可以直接向頁面輸出內容;比如:
document.write("<h3>Hello world!!!</h3>"); 就可以在頁面中顯示Hello world!!!
此語句和JSP中的out.println()非常類似;
<html>
<head>
<title></title>
<script language="JavaScript">
document.write("<h3>Hello world!!!</h3>");
</script>
</head>
</html>3.定義變量 var
這個特性和python是很類似的,Java中,有許多特定的數據類型,但是在JS中,只需要將任何類型的值賦予var即可;
例如:
(1)var num1 = 5; num1的類型就是整數;
(2)var str1 = "Hello world!!!"; str1的類型就是字符串;
<html>
<head>
<title></title>
<script language="JavaScript">
var num1 = 5;
var str1 = "Hello world!!!";
alert(num1);
alert(str1);
</script>
</head>
</html>4.字符串比較
在JavaScript中,比較字符串是否相等只需要通過==即可;而不需要equals();
5.函數聲明
在JavaScript中,函數聲明非常簡單,形式如下:
function(參數...){
[返回值;]
}
注意:
(1)參數也不能聲明類型,只需要寫明參數的名稱即可;
(2)函數聲明并看不出是否有返回值,在實現中,如果有返回值,則return;
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(i){
alert("歡迎"+i);
}
fun("xiazdong");
</script>
</head>
</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] ....
}
<html>
<head>
<title></title>
<script language="JavaScript">
var arr = new Array(3);
var str = "";
for(i=0;i<arr.length;i++){
arr[i]=i;
}
for(i=0;i<arr.length;i++){
str=str+arr[i]+"、";
}
alert(str);
</script>
</head>
</html>
三、JavaScript事件
1.body包含的事件
2.表單提交事件 onSubmit
當點擊表單的submit按鈕時,就會除觸發onSubmit事件,并調用某函數,通常此事件用于驗證操作;
補充:
在JavaScript中獲得表單控件的值:可以通過層層遞進的方式獲得;
document是文檔的根節點;
比如:
<form action="" method="post" onSubmit="fun(this)" name="f">
<input type="text" name="name"/><br />
<input type="radio" name="radiobutton"/>男<br />
<input type="radio" name="radiobutton"/>女<br />
<input type="button" value="顯示" onClick="show()"/>
</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
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(v){
alert(v);
}
</script>
<form action="" method="post" name="f">
EMAIL:<input type="text" name="name"/><br />
<select name="favor" onChange="fun(this.value)">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
<input type="submit" value="提交"/>
</form>
</head>
<body >
</body>
</html>5.失去焦點事件 onblur
四、JavaScript中的正則表達式
在JavaScript中也支持正則,但是使用語法與Java稍微不同;
/正則/.test(字符串);
比如email的驗證:
/^\w+@\w+.\w+$/.test(value);
<html>
<head>
<title></title>
<script language="JavaScript">
function validate(f){
var email = f.name.value;
if(/^\w+@\w+.\w+$/.test(email)){
return true;
}
else{
return false;
}
}
</script>
<form action="" method="post" onSubmit="return validate(this)" name="f">
EMAIL:<input type="text" name="name"/><br />
<input type="submit" value="提交"/>
</form>
</head>
<body >
</body>
</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");普通方法打開網頁;
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(url){
window.open(url,"頁面標題","width=500,height=500,resizable=no");
}
</script>
</head>
<body >
<form action="" method="post">
<select name="favor" onChange="fun(this.value)">
<option value="#">====請選擇====</option>
<option value="http://www.baidu.com">百度</option>
<option value="http://www.google.com">谷歌</option>
</select>
</form>
</body>
</html>2.確認窗口:window.confirm()
比如:
var flag = window.confirm("確認?"); 如果選是,則返回true;否則返回false;
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(){
if(window.confirm("確認")){
alert("是");
}
else{
alert("否");
}
}
fun();
</script>
</head>
<body >
</body>
</html>3.頁面重定向
通過window.location屬性能夠完成頁面的轉換;
只需要window.location="http://www.google.com"就能夠將當前網頁跳轉到谷歌;
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(url){
window.location=url; //將當前的網頁的地址變換
}
</script>
</head>
<body >
<form action="" method="post">
<select name="favor" onChange="fun(this.value)">
<option value="#">====請選擇====</option>
<option value="http://www.baidu.com">百度</option>
<option value="http://www.google.com">谷歌</option>
</select>
</form>
</body>
</html>
4.在子窗口中操作父窗口 opener
通過window.opener.document可以獲得父窗口的文檔對象;
window.opener.location可以獲得父窗口地址;
window.opener.location.reload();重新加載父窗口;
父窗口:
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(){
window.open("demo03.html","頁面標題","width=500,height=500,resizable=no");
}
</script>
</head>
<body >
<form action="" method="post">
<input type="button" value="打開子窗口" onClick="fun()"/>
</form>
</body>
</html>子窗口:
<html>
<head>
<title></title>
<script language="JavaScript">
function fun(){
window.opener.location="http://www.baidu.com";
}
</script>
</head>
<body >
<input type="button" value="跳轉到百度" onClick="fun()"/>
</body>
</html>轉自:http://blog.csdn.net/xiazdong?viewmode=contents