JavaScript可以說是web開發中必備的一種技術。它具有靈活,簡單,高效等特點。這次DRP中大量的用到瞭js,讓自己對js有瞭更深的瞭解。看完這個以後還回去看瞭一下牛腩的js視頻。把以前沒看的看瞭一下。這裡總結一下js。
什麼是javaScript,js有哪些特性
JS是一種解釋型的網頁腳本語言。其作用是控制瀏覽器的行為和內容。
js代碼是嵌入到Html中的。
它有這麼幾大特點
在客戶端運行,這就意味著可以減輕服務器的壓力。提高代碼的執行效率。
JavaScript 是一種解釋性語言(就是說,代碼執行不進行預編譯)
對應的編譯型語言,執行的時候需要提前編譯成中間代碼或者機器語言,比如java編譯成.class文 件。
javaScript和java沒有任何關系。Javascript不是其他語言的精簡版(例如,它隻是與 Java 有點模糊而間接的關系),也不是任何事物的簡化。不過,它有其局限性。例如,您不能使用該語言來編寫獨立運行的應用程序,並且沒有對讀寫文件的內置支持。此外,Javascript腳本隻能在某個解釋器或“宿主”上運行,如 Active Server Pages(ASP)、Internet 瀏覽器或者 Windows 腳本宿主。
JavaScript能實現哪些功能
javascript能實現瀏覽器的腳本開發。它有很多經典的功能。我們需要掌握。
JavaSript實現網頁特效
Js能實現很多網頁特效,如圖片文字的滾動,圖片的動態變換等。在網上搜索,能找到很多現成的 代碼。總之,很多東西是不需要你自己動手的。需要站在巨人的肩膀上。
JavaScript操作Html元素
Js能操作網頁元素,如對輸入框,下拉框,表格等元素的操作。操作html元素的基礎就是對DOM對象的操作。任何一個html元素是一個dom對象。我們可以利用js,來操作它。比如改變它的屬性,動態增加元素。獲取它的值等。
Html中的每一個元素都對應dom中的一個節點。html表單對應著一棵dom樹,每個節點都有nodeName nodeValue nodeType屬性。js就是通過操作這些屬性來操作html的。
這裡列舉瞭一些操作方法。
createElement(element) :創建一個指定標簽名創建一個新的元素節點,返回值為指向新建元素節點的引用指針
createTextNode(string) :創建一個包含著給定文本的新文本節點,返回一個指向新建文本節點的引用指針:
appendChild(node) :插入節點
removeChild(node) :將從一個給定元素利刪除一個子節點,返回一個指向已被刪除的子節點的引用指針。
hasChildNodes:用來檢查一個給定元素是否有子節點 ,返回boolean值
replaceChild(newnode,oldnode):節點替換
setAttribute(key,value):為給定元素節點添加一個新的屬性值或是改變它的現有屬性
getAttribute(key):返回一個給定元素的一個給定屬性節點的值
getElementById():尋找一個有著給定id屬性值的元素,返回一個元素節點
getElementsByTagName():用於尋找有著給定標簽名的所有元素
從這些方法可以看出,js可以靈活的增加,刪除,獲取一個節點(html元素)。這樣對表單的操作也就靈活的多瞭。
在這次drp中,主要用到瞭就是getElementById()這個方法。
如:
with(document.getElementById("userform")){
action="user_maint.jsp";
method="post";
submit();
}
JavaScript實現表單驗證
被JavaScript 驗證的這些典型的表單數據有:
用戶是否已填寫表單中的必填項目?
用戶輸入的郵件地址是否合法?
用戶是否已輸入合法的日期?
用戶是否在數據域(numeric field) 中輸入瞭文本?
JS驗證表單通常有兩種方式。一種是手動寫方法,在表單提交或者觸發瞭某個事件的時候,調用這個js方法,再通過js代碼提取這個控件的屬性,判斷它是否滿足條件。另一種方法就是:利用正則表達式,驗證輸入的數據是否符合某種格式。例如如下的驗證郵箱的一個js代碼
www.aiwalls.com
<pre name="code" class="javascript">function test()
{
var temp = document.getElementById("text1");
//對電子郵件的驗證
var myreg =/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!myreg.test(temp.value))
{
alert('提示\n\n請輸入有效的E_mail!');
myreg.focus();
return false;
}
}
代碼的關鍵是找到正則表達式,第二就是利用這個正則表達式的test方法,驗證某個字符串。註意test方法是這個正則表達式自帶的。
JavaScript檢查客戶瀏覽器和創建cookies
使用javaScript驗證用戶瀏覽器的版本,信息等。
其中下面的Navigator對象包含瞭有關訪問者瀏覽器的信息,包括瀏覽器類型、版本等等。
<html>
<body>
<scripttypescripttype="text/javascript">
varbrowser=navigator.appName
varb_version=navigator.appVersion
varversion=parseFloat(b_version)
document.write("Browsername: "+ browser)
document.write("<br/>")
document.write("Browserversion: "+ version)
</script>
</body>
</html>
cookie是存儲於訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 JavaScript 來創建和取回cookie 的值。
首先:創建一個可在cookie 變量中存儲訪問者姓名的函數
functionsetCookie(c_name,value,expiredays)
{
varexdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+"=" +escape(value)+
((expiredays==null)? "" : ";expires="+exdate.toGMTString())
}
其次:創建另一個函數來檢查是否已設置cookie:
functiongetCookie(c_name)
{
if(document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name +"=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
returnunescape(document.cookie.substring(c_start,c_end))
}
}
return""
}
上面的函數首先會檢查document.cookie 對象中是否存有 cookie。假如 document.cookie 對象存有某些 cookie,那麼會繼續檢查我們指定的cookie 是否已儲存。如果找到瞭我們要的 cookie,就返回值,否則返回空字符串。
總之,js的是web開發中必不可少的一個技術,作為一個web開發人員,必須對它熟悉掌握。
摘自 李守宏 信息技術提高班