javascript (簡稱js)基礎知識:
它是一種開發語言,雖然名字中有java,但是它跟java無關。java主要是做服務器端的程序開發,而js則是客戶端頁面中腳本語言的開發。所以js是一種腳本語言。
腳本:一種可以直接嵌套在瀏覽器端並直接在頁面中運行的程序。
js語言的特點:
1)解釋執行;
2)弱語言;
3)基於對象(oop面向對象編程);
4)事件驅動(重點);
5)簡單性;
6)不同瀏覽器的支持是不同的
如何去寫javascript代碼:
1)js代碼的位置:
基本上可以寫在頁面的任何一個地方
a)直接寫在頁面中;
b)寫到頁面標籤元素的屬性裏面
c)寫到一個外部的文件裏邊(.js結尾)
如果是寫到頁面中必須用一個便籤括起來<script language="javascript" >在這裏寫js代碼</script>
js的運行:
瀏覽器可以直接運行js代碼(也就是所謂的解釋執行),但是不同的瀏覽器運行js代碼後產生的效果會有所不同,甚至是報錯。
js代碼是嵌入在頁面中的,所以直接運用瀏覽器去運行頁面,js代碼也就會被執行了。
使用js可以做什麼事情:
1)對客戶端的數據進行計算;
2)動態的改變頁面中的標籤元素的屬性;
3)創建或是刪除頁面中的標籤元素;
4)獲取頁面中的數據(例如輸入框中的值,鼠標當前座標值等等)
5)驗證用戶填寫的表單元素的值的合法性;
6)在Ajax中利用js去解析服務器端傳到頁面中的文本或是xml文檔
注:DHTML很多時候指的就是html+css+javascript在子頁面中實現的動態效果
javascript中的註釋:
1)單行註釋://註釋的內容
2)多行註釋:/*註釋的內容*/
javascript中的三總彈窗方式:
1)alert : 彈出提示框或是警告框,用戶點擊確定即可繼續訪問頁面;
2)confirm:確認框,點擊確認,返回true,點擊取消,返回false;
3)prompt:輸入對話框,返回用戶輸入的內容。
這三個都是window對象的方法,(同時也只有window對象的方法在調用時不用寫window)
例如window.alert();也可以直接寫alert(),效果一樣。
這三個彈框的共同特點就是,瀏覽器運行到該彈出框時,如果用戶不點擊確定或是取消按鈕,瀏覽器就不執行接下來的代碼。
js中聲明變量:
任何類型的變量都可以用var關鍵字來聲明:
例如:var i = 0;
var a = ”“;
var b = 1.0;
var c = new Date();
var d = true;
......
js中的標示符(變量名):
1)大小寫敏感;
2)不能以數字開頭;
3)可以由數字,字母,下劃線,$符組成;
4)不能使js中的關鍵字
js中的dom對象詳解參考躍睿的博客,地址是:http://blog.csdn.net/mcy478643968/article/details/5949120
js中的一些內置對象的使用:
1)字符串:
var s = " Hello World ";
//獲取字符串的長度
document.write(s.length);
//從下標是3的位置開始,截取4個字符,包括下標位置是3的元素
document.write(s.substr(3,4));
//從下標爲3的位置開始,截取到下標爲4的字符,包括下標爲3的字符,但不包括下標爲4的字符
document.write(s.substring(3,4));
//trim()方法可以去掉字符串頭和尾的空格,中間的不能去掉,但有的瀏覽器不支持
document.write(s.trim() + s.trim().length);
//字符串全部轉換爲大寫
document.write(s.toUpperCase());
//字符串全部轉換爲小寫
document.write(s.toLowerCase());
2)分隔符:
//分割字符串返回一個數組
document.write(s.split(" "));
//返回分割後返回的數組的長度
document.write(s.split(" ").length);
//返回分割後返回的數組的下標爲3的數組元素
document.write(s.split(" ")[3]);
3)日期對象:
var date = new Date();
//打印當前時間
document.write(date);
//獲取當前年份減去1900後的值
document.write(date.getYear());
//獲取當前年份
document.write(date.getFullYear());
//獲取當前月份減去1後的值
document.write(date.getMonth());
//獲取當前月中的具體哪一天,也就是當前月的第幾號
document.write(date.getDate());
//星期幾
document.write(date.getDay());
//獲取時間中的小時數 (24小時制)
document.write(date.getHours());
//獲取時間中的分鐘數
document.write(date.getMinutes());
//獲取時間中的秒數
document.write(date.getSeconds());
//獲取時間中的毫秒數
document.write(date.getMilliseconds());
4)Math對象
//獲取常量π
document.write(Math.PI);
//獲取常量e
document.write(Math.E);
//獲取0-1之間的隨機數[0,1)
document.write(Math.random());
//獲取[23,36]之間的隨機數
document.write(parseInt(Math.random()*14 + 23));
//獲取最小的數字
document.write(Math.min(4,1,3,5));
//獲取最大的數字
document.write(Math.max(4,1,3,5));
5)數組對象
var array = new Array(4);//創建數組的時候可以指定其數組長度,也可以不指定,因爲數組長度是可變的
js中數組的特點:
a)數組的長度是可變的;
b)數組中的元素的類型可以不同;
c)數組的長度與數組的最大下標值相關,(其長度是最大下標值加1)
for-in除了可以遍歷數組外還可以遍歷一個對象
例如:
for(var i in array){
document.write(array[i] + "<br>");
}
6)其他的常見對象
window
window.location
window.history
window.document
//新建一個瀏覽器窗口,URL地址是括號中的值
window.open("url");
//在瀏覽器的當前窗口中打開這個URL地址
window.location.href("url");
在使用瀏覽器進行一系列的頁面訪問的時候,瀏覽器會記錄這些訪問的歷史記錄
//訪問歷史記錄裏的下一個頁面
window.history.forward();
//訪問歷史記錄裏的上一個頁面
window.history.back();
//向前跳n個頁面
window.history.go(n);
//向後跳n個頁面
window.history.go(-n);
document代表的是整個html頁面
window.document
常用的獲取頁面標籤元素對象的方法有:
a)document.getElementById("id");
//以下三種方式返回一個元素對象的集合
b)document.getElementsByName("name");
c)document.getElementsByTagName("tagName");
d)document.getElementsByClassName("className");
js中拿到一個元素對象後可以做什麼:
a)在元素中添加文本值(如果該元素中可以添加的話);
b)修改元素中的屬性值
c)添加或是刪除一些元素對象
js中獲取任何一個元素對象中的文本值:
a)讓用戶輸入的標籤元素
例如:文本輸入框,密碼框,文本域等
//首先拿到這個元素對象
var myInput = document.getElementById("ID");
//獲取元素對象中的文本值
var val = myInput.value;
//設置元素中的文本值
myInput.value = “改變後的文本值”;
b)直接寫在開始標籤和結束標籤中的元素
例如div,font,span,td,p等
<div>內容</div>
//首先拿到這個元素對象
var myDiv = document.getElementById("id");
//獲取元素中的文本值
var val = myDiv.innerHTML;
//設置元素中的文本值
myDiv.innerHTML = “改變後的值”;
js判斷一個變量是不是數字:
通過方法isNaN();返回true或false;該方法名是is not a number的簡寫
例如:
var a = "123abc";
var b = "123";
alert(isNaN(a));//彈出true
alert(isNaN(b));//彈出false
js中讓一個標籤元素獲得焦點:
例如:document.getElementById("id").focus();
js中的全局函數eval():
//使用全局函數eval()計算一個字符串類型的運算式的結果
var a = "1+2*3";
alert(eval(a));//彈出7
js中的兩種定時調用的方法:
window中方法:
setInterval,setTimeout
例子:
a)每隔1000毫秒調用一次showTime()方法,
//方法返回一個id值,表示該定時任務的id編號值,可以通過該id值刪除該定時任務
var id = setInterval("showTime()",1000);
//清除該定時任務
window.clearInterval(id);
b)1000毫秒後,調用showTime()方法,並且只調用一次
setTimeout("showTime()",1000);