本文目錄一覽:
- 1、js彈出窗口的命令
- 2、北大青鳥設計培訓:JavaScript編程開發常用的庫?
- 3、Javascript 命令參數 external 的幾個用法:
- 4、JavaScript常用語句標識符有哪些
- 5、javascript 中的? :語句 表示什麼意思?
js彈出窗口的命令
1、window.open(pageURL,name,parameters)
pageURL 為彈出窗口路徑;
name 為彈出窗口名稱,也可以是系統自帶的比如:_self, _blank,_top,_parent … ;
parameters 為窗口參數(各參數用逗號分隔) ;
各項參數
其中yes/no也可使用1/0,pixel value為具體的數值,單位象素。
參數 取值範圍 說明
alwaysLowered yes/no 指定窗口隱藏在所有窗口之後
alwaysRaised yes/no 指定窗口懸浮在所有窗口之上
depended yes/no 是否和父窗口同時關閉
directories yes/no Nav2和3的目錄欄是否可見
height pixel value 窗口高度
hotkeys yes/no 在沒菜單欄的窗口中設安全退出熱鍵
innerHeight pixel value 窗口中文檔的像素高度
innerWidth pixel value 窗口中文檔的像素寬度
location yes/no 位置欄是否可見
menubar yes/no 菜單欄是否可見
outerHeight pixel value 設定窗口(包括裝飾邊框)的像素高度
outerWidth pixel value 設定窗口(包括裝飾邊框)的像素寬度
resizable yes/no 窗口大小是否可調整
screenX pixel value 窗口距屏幕左邊界的像素長度
screenY pixel value 窗口距屏幕上邊界的像素長度
scrollbars yes/no 窗口是否可有滾動欄
titlebar yes/no 窗口題目欄是否可見
toolbar yes/no 窗口工具欄是否可見
Width pixel value 窗口的像素寬度
z-look yes/no 窗口被激活後是否浮在其它窗口之上
常用示例:
window.open (‘page.html’, ‘newwindow’, ‘fullscreen’); //全屏
window.open (‘page.html’, ‘_self’, ‘fullscreen = yes , height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, status=no’); // 在當前頁面彈出一個全屏的窗口,並有詳細的設置
popWin = window.open(‘test.jsp’); // 獲取彈出窗口對象,以便進行操作
popWin .focus(); // 聚焦窗口2、window.alert()參數,只有一個,顯示警告框的信息;無返回值。
3、window.confirm() 參數就只有一個。顯示提示框的信息。按確定,返回true;按取消返回false。
4、window.prompt()參數,有兩個,第一個參數,顯示提示輸入框的信息。第二個參數,用於顯示輸入框的默認值。返回,用戶輸入的值。
5、window.showModalDialog()方法用來創建一個顯示HTML內容的模態對話框。window.showModelessDialog()方法用來創建一個顯示HTML內容的非模態對話框。
showModalDialog()與showModelessDialog()的區別,在於showModalDialog()打開的窗口,置在父窗口上,必須關閉才能訪問父窗口;showModelessDialog(),打開後不必關閉也可訪問父窗口打開的窗口。使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]);
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]);
參數說明:
sURL–
必選參數,類型:字元串。用來指定對話框要顯示的文檔的URL。
vArguments–
可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過window.dialogArguments來取得傳遞進來的參數。
sFeatures–
可選參數,類型:字元串。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,用分號隔開。
1.dialogHeight :對話框高度,不小於100px,IE4中dialogHeight 和 dialogWidth 默認的單位是em,而IE5中是px,為方便其見,在定義modal方式的對話框時,用px做單位。
2.dialogWidth: 對話框寬度。
3.dialogLeft: 離屏幕左的距離。
4.dialogTop: 離屏幕上的距離。
5.center: {yes no 1 0 }:窗口是否居中,默認yes,但仍可以指定高度和寬度。
6.help: {yes no 1 0 }:是否顯示幫助按鈕,默認yes。
7.resizable: {yes no 1 0 } [IE5+]:是否可被改變大小。默認no。
8.status: {yes no 1 0 } [IE5+]:是否顯示狀態欄。默認為yes[ Modeless]或no[Modal]。
9.scroll:{ yes no 1 0 on off }:指明對話框是否顯示滾動條。默認為yes。 參數傳遞:
要想對話框傳遞參數,是通過vArguments來進行傳遞的。類型不限制,對於字元串類型,最大為4096個字元。也可以傳遞對象,例如:
調用頁面
script
var obj = new Object();
obj.name=”LOVEJS”;
window.showModalDialog(“modal.htm”,obj,”dialogWidth=200px;dialogHeight=100px”);
/script
對話框頁面
script
var obj = window.dialogArguments ;
alert(“您傳遞的參數為:” + obj.name)
/script 獲取對象:
可以通過window.returnValue向打開對話框的窗口返回信息,當然也可以是對象。例如:
調用頁面
script
str = window.showModalDialog(“modal.htm”,,”dialogWidth=200px;dialogHeight=100px”);
alert(str);
/script
對話框頁面
script
window.returnValue=”在這裡進行你要的操作”;
/script
北大青鳥設計培訓:JavaScript編程開發常用的庫?
隨著互聯網編程開發技術的不斷發展,關於軟體編程的框架和庫的種類也在不斷的增加。
今天我們就一起來了解一下,常見的JavaScript編程開發都有哪些庫。
1、ReactJS(Star:59989,Fork:10992)React.js(React)是一個用來構建用戶界面的JavaScript庫,主要用於構建UI,很多人認為React是MVC中的V(視圖)。
React起源於Facebook的內部項目,用來架設Instagram的網站,並於2013年5月開源。
React擁有較高的性能,代碼邏輯非常簡單,越來越多的人已開始關注和使用它。
React特點:1.聲明式設計?React採用聲明範式,可以輕鬆描述應用。
2.高效?React通過對DOM的模擬,大限度地減少與DOM的交互。
3.靈活?React可以與已知的庫或框架很好地配合。
4.JSX?JSX是JavaScript語法的擴展。
React開發不一定使用JSX,但我們建議使用它。
5.組件?通過React構建組件,使得代碼更加容易得到復用,能夠很好的應用在大項目的開發中。
6.單向響應的數據流?React實現了單向響應的數據流,從而減少了重複代碼,這也是它為什麼比傳統數據綁定更簡單。
2、AngularJS(Star:54769,Fork:27292)AngularJS(Angular.JS)是一組用來開發Web頁面的框架、模板以及數據綁定和豐富UI組件。
它支持整個開發進程,提供Web應用的架構,無需進行手工DOM操作。
AngularJS很小,只有60K,兼容主流瀏覽器,與jQuery配合良好。
3、Vue.js(Star:43608,Fork:5493)Vue.js是構建Web界面的JavaScript庫,提供數據驅動的組件,還有簡單靈活的API,使得MVVM更簡單。
主要特性:可擴展的數據綁定將普通的JS對象作為model簡潔明了的API組件化UI構建配合別的庫使用4、jQuery(Star:43432,Fork:12117)JQuery是輕量級的js庫(壓縮後只有21k),它兼容CSS3,還兼容各種瀏覽器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用戶能更方便地處理HTMLdocuments、events、實現動畫效果,並且方便地為網站提供AJAX交互。
jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。
青島IT培訓認為jQuery能夠使用戶的html頁保持代碼和html內容分離,也就是說,不用再在html裡面插入一堆js來調用命令了,只需定義id即可。
Javascript 命令參數 external 的幾個用法:
A: Window.external 就如同 print 參數一樣,是 IE 默認的一個命令參數,我們最常用的用法是:
(1)、external.AddDesktopComponent:把某一個網頁變成用戶的桌面。如果你知道有壁紙網站的話,不訪用這個功能,直
接就能讓瀏覽者把喜歡的圖片、頁面變成自己的桌面。如果頁面里有 Flash 動畫那就更酷了。
function wallpaper()
{window.external.AddDesktopComponent(“url”,”title”,0,0,1024,768);}
(2)、external.AddFavorite:把網站加入到用戶的收藏夾。在頁面上添加一個按鈕,讓瀏覽者可以方便地把頁面地址保存
在 IE 收藏夾里。
function add()
{window.external.AddFavorite(“url”,”title”);}
如果把 url 和 title 替換成 this.location.href, this.document.title 則自動把當前頁面地址及其標題添加到瀏覽器
收藏夾。
(3)、window.external.ShowBrowserUI:啟動 IE 的「語言設置」和「整理收藏夾」功能。
JavaScript常用語句標識符有哪些
這裡有些平常整理的資料,希望你能了解。碼瘋窩。
1.document.write( ” “); 輸出語句
2.JS中的注釋為//
3.傳統的HTML文檔順序是:document- html- (head,body)
4.一個瀏覽器窗口中的DOM順序是:window- (navigator,screen,history,location,document)
5.得到表單中元素的名稱和值:document.getElementById( “表單中元素的ID號 “).name(或value)
6.一個小寫轉大寫的JS: document.getElementById( “output “).value = document.getElementById( “input “).value.toUpperCase();
7.JS中的值類型:String,Number,Boolean,Null,Object,Function
8.JS中的字元型轉換成數值型:parseInt(),parseFloat()
9.JS中的數字轉換成字元型:( ” ” 變數)
10.JS中的取字元串長度是:(length)
11.JS中的字元與字元相連接使用號.
12.JS中的比較操作符有:==等於,!=不等於, , =, . =
13.JS中聲明變數使用:var來進行聲明
14.JS中的判定語句結構:if(condition){}else{}
15.JS中的循環結構:for([initial expression];[condition];[upadte expression]) {inside loop}
16.循環中止的命令是:break
17.JS中的函數定義:function functionName([parameter],…){statement[s]}
18.當文件中出現多個form表單時.可以用document.forms[0],document.forms[1]來代替.
19.窗口:打開窗口window.open(), 關閉一個窗口:window.close(), 窗口本身:self
20.狀態欄的設置:window.status= “字元 “;
21.彈出提示信息:window.alert( “字元 “);
22.彈出確認框:window.confirm();
23.彈出輸入提示框:window.prompt();
24.指定當前顯示鏈接的位置:window.location.href= “URL “
25.取出窗體中的所有表單的數量:document.forms.length
26.關閉文檔的輸出流:document.close();
27.字元串追加連接符: =
28.創建一個文檔元素:document.createElement(),document.createTextNode()
29.得到元素的方法:document.getElementById()
30.設置表單中所有文本型的成員的值為空:
var form = window.document.forms[0]
for (var i = 0; i
if (form.elements.type == “text “){
form.elements.value = ” “;
}
}
31.複選按鈕在JS中判定是否選中:document.forms[0].checkThis.checked (checked屬性代表為是否選中返回TRUE或FALSE)
32.單選按鈕組(單選按鈕的名稱必須相同):取單選按鈕組的長度document.forms[0].groupName.length
33.單選按鈕組判定是否被選中也是用checked.
34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有時用下拉列表框名稱加上.selectedIndex來確定被選中的值)
35.字元串的定義:var myString = new String( “This is lightsword “);
36.字元串轉成大寫:string.toUpperCase(); 字元串轉成小寫:string.toLowerCase();
37.返回字元串2在字元串1中出現的位置:String1.indexOf( “String2 “)!=-1則說明沒找到.
38.取字元串中指定位置的一個字元:StringA.charAt(9);
39.取出字元串中指定起點和終點的子字元串:stringA.substring(2,6);
40.數學函數:Math.PI(返回圓周率),Math.SQRT2(返回開方),Math.max(value1,value2)返回兩個數中的最在值,Math.pow(value1,10)返回
value1的十次方,Math.round(value1)四捨五入函數,Math.floor(Math.random()*(n 1))返回隨機數
41.定義日期型變數:var today = new Date();
42.日期函數列表:dateObj.getTime()得到時間,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得
到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期幾,dateObj.getHours()得到小時,dateObj.getMinutes()得到
分,dateObj.getSeconds()得到秒,dateObj.setTime(value)設置時間,dateObj.setYear(val)設置年,dateObj.setMonth(val)設置
月,dateObj.setDate(val)設置日,dateObj.setDay(val)設置星期幾,dateObj.setHours設置小時,dateObj.setMinutes(val)設置
分,dateObj.setSeconds(val)設置秒 [注重:此日期時間從0開始計]
43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames[ “frameName “].ObjFuncVarName,frameName.ObjFuncVarName
44.parent代表父親對象,top代表最頂端對象
45.打開子窗口的父窗口為:opener
46.表示當前所屬的位置:this
47.當在超鏈接中調用JS函數時用:(javascript :)來開頭後面加函數名
48.在老的瀏覽器中不執行此JS:
javascript 中的? :語句 表示什麼意思?
javascript 中的?是屬性。例如:var text={ x:1,y:2 } , 輸出:text.x 那麼值就是1 如此而已。
javascript的相關概念:
語句
JavaScript程序是由若干語句組成的,語句是編寫程序的指令。JavaScript提供了完整的基本編程語句,它們是:
賦值語句、switch選擇語句、while循環語句、for循環語句、for each循環語句、do…while循環語句、break循環中止語句、continue循環中斷語句、with語句、try…catch語句、if語句(if..else,if…else if…)。
函數
函數是命名的語句段,這個語句段可以被當作一個整體來引用和執行。使用函數要注意以下幾點:
1)函數由關鍵字function定義(也可由Function構造函數構造)
2)使用function關鍵字定義的函數在一個作用域內是可以在任意處調用的(包括定義函數的語句前);而用var關鍵字定義的必須定義後才能被調用
3)函數名是調用函數時引用的名稱,它對大小寫是敏感的,調用函數時不可寫錯函數名
4)參數表示傳遞給函數使用或操作的值,它可以是常量,也可以是變數,也可以是函數,在函數內部可以通過arguments對象(arguments對象是一個偽數組,屬性callee引用被調用的函數)訪問所有參數
5)return語句用於返回表達式的值。
6)yield語句扔出一個表達式,並且中斷函數執行直到下一次調用next。
一般的函數都是以下格式:
function myFunction(params){
//執行的語句
}
函數表達式:
var myFunction=function(params){
//執行的語句
}
var myFunction = function(){
//執行的語句
}
myFunction();//調用函數
匿名函數,它常作為參數在其他函數間傳遞:
window.addEventListener(‘load’,function(){
//執行的語句
},false);
對象
JavaScript的一個重要功能就是面向對象的功能,通過基於對象的程序設計,可以用更直觀、模塊化和可重複使用的方式進行程序開發。
一組包含數據的屬性和對屬性中包含數據進行操作的方法,稱為對象。比如要設定網頁的背景顏色,所針對的對象就是document,所用的屬性名是bgcolor,如document.bgcolor=”blue”,就是表示使背景的顏色為藍色。
事件
用戶與網頁交互時產生的操作,稱為事件。事件可以由用戶引發,也可能是頁面發生改變,甚至還有你看不見的事件(如Ajax的交互進度改變)。絕大部分事件都由用戶的動作所引發,如:用戶按滑鼠的按鍵,就產生click事件,若滑鼠的指針在鏈接上移動,就產生mouseover事件等等。在JavaScript中,事件往往與事件處理程序配套使用。
而對事件的處理,W3C的方法是用addEventListener()函數,它有三個參數:事件,引發的函數,是否使用事件捕捉。為了安全性,建議將第三個參數始終設置為false
傳統的方法就是定義元素的on…事件,它就是W3C的方法中的事件參數前加一個「on」。而IE的事件模型使用attachEvent和dettachEvent對事件進行綁定和刪除。JavaScript中事件還分捕獲和冒泡兩個階段,但是傳統綁定只支持冒泡事件。
變數
1、常用類型
Object:對象
Array:數組
Number:數
Boolean:布爾值,只有true和false兩個值,是所有類型中佔用內存最少的
null:一個空值,唯一的值是null,表空引用
undefined:沒有定義或賦值的變數
2、命名形式
一般形式是:
var 變數名表;
其中,var是javascript的保留字,表面接下來是變數說明,變數名表是用戶自定義標識符,變數之間用逗號分開。和C++等程序不同,在javascript中,變數說明不需要給出變數的數據類型。此外,變數也可以不說明而直接使用。
3、作用域
變數的作用域由聲明變數的位置決定,決定哪些腳本命令可訪問該變數。在函數外部聲明的變數稱為全局變數,其值能被所在HTML文件中的任何腳本命令訪問和修改。在函數內部聲明的變數稱為局部變數。只有當函數被執行時,變數被分配臨時空間,函數結束後,變數所佔據的空間被釋放。局部變數只能被函數內部的語句訪問,只對該函數是可見的,而在函數外部是不可見的。
運算符
javascript提供了豐富的運算功能,包括算術運算、關係運算、邏輯運算和連接運算。
1.算術運算符
javascript中的算術運算符有單目運算符和雙目運算符。雙目運算符包括:+(加)、-(減)、*(乘)、/(除)、%(取模)、|(按位或)、(按位與)、(左移)、(右移)等。單目運算符有:-(取反)、~(取補)、++(遞加1)–(遞減1)等。
2.關係運算符
關係運算符又稱比較運算,運算符包括:(小於)、=(小於等於)、(大於)、=(大於等於)、==(等於)和!=(不等於)以及 ===) 和 !==。
關係運算的運算結果為布爾值,如果條件成立,則結果為true,否則為false。
3.邏輯運算符
邏輯運算符有:(邏輯與)、||(邏輯或)、!(取反,邏輯非)、^(邏輯異或)。
4.字元串連接運算符
連接運算用於字元串操作,運算符為+(用於強制連接),將兩個或多個字元串連結為一個字元串。
5.三目操作符?
三目操作符「?:」格式為:
操作數?表式1:表達式2
三目操作符「?:」構成的表達式,其邏輯功能為:若操作數的結果為true,則表述式的結果為表達式1,否則為表達式2。例如max=(ab)?a:b;該語句的功能就是將a,b中的較大的數賦給max。
相關規則
在JavaScript中,「===”是全同運算符,只有當值相等,數據類型也相等時才成立。
等同運算符「==”的比較規則:
當兩個運算數的類型不同時:將他們轉換成相同的類型。
1)一個數字與一個字元串,字元串轉換成數字之後,進行比較。
2)true轉換為1、false轉換為0,進行比較。
3)一個對象、數組、函數與 一個數字或字元串,對象、數組、函數轉換為原始類型的值,然後進行比較。(先使用valueOf,如果不行就使用toString)
4)其他類型的組合不相等。
JavaScript想兩個運算數類型相同,或轉換成相同類型後:
1)2個字元串:同一位置上的字元相等,2個字元串就相同。
2)2個數字:2個數字相同,就相同。如果一個是NaN,或兩個都是NaN,則不相同。
3)2個都是true,或者2個都是false,則相同。
4)2個引用的是同一個對象、函數、數組,則他們相等,如果引用的不是同一個對象、函數、數組,則不相同,即使這2個對象、函數、數組可以轉換成完全相等的原始值。
5)2個null,或者2個都是未定義的,那麼他們相等。
而「===」是全同運算符,全同運算符遵循等同運算符的比較規則,但是它不對運算數進行類型轉換,當兩個運算數的類型不同時,返回false;只有當兩個運算數的類型相同的時候,才遵循等同運算符的比較規則進行比較。
例如:null==undefined 會返回真, 但是null===undefined 就會返回假!
表達式
表達式是指將常量、變數、函數、運算符和括弧連接而成的式子。根據運算結果的不同,表達式可分為算術表達式、字元表達式、和邏輯表達式。
腳本語言
不同於伺服器端腳本語言,例如PHP與ASP,JavaScript是客戶端腳本語言,也就是說JavaScript是在用戶的瀏覽器上運行,不需要伺服器的支持而可以獨立運行。所以在早期程序員比較青睞於JavaScript以減少對伺服器的負擔,而與此同時也帶來另一個問題:安全性。而隨著伺服器的強壯,雖然程序員更喜歡運行於服務端的腳本以保證安全,但JavaScript仍然以其跨平台、容易上手等優勢大行其道。
JavaScript是一種腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字元代碼發送給瀏覽器由瀏覽器解釋運行。解釋語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那麼下面的語言也無法運行。而且由於每次重新載入都會重新解譯,載入後,有些代碼會延遲至運行時才解譯,甚至會多次解譯,所以速度較慢。
與其相對應的是編譯語言,例如Java。Java的源代碼在傳遞到客戶端運行之前,必須經過編譯,因而客戶端上必須具有相應平台上的模擬器或解釋器,它可以通過編譯器或解釋器實現獨立於某個特定的平台編譯代碼的束縛。但是它必須在伺服器端進行編譯,這樣就拖延了時間。但因為已經封裝,所以能保證安全性。
Javascript庫
庫,指得是可以方便應用到現有開發體系中的、現成的代碼資源。庫不僅為大部分日常的DOM腳本編程工作提供了快捷的解決方案,而且也提供了許多獨特的工具。雖然庫使用起來很方便,但它們也並非能解決你所有的問題。在使用庫之前,一定要保證真正理解javascript的DOM原理。
這些庫一般是一個(或多個)js(Javascript的縮寫)文件,只要把他們導入你的網頁就能使用了。
常用的庫有:
jQuery:javascript庫中的新成員,提供css和xpath選擇符查找元素、ajax、動畫效果等
JSer: 國人開發的一款全功能的開源腳本框架. 藉助JSer,可以便捷的操作DOM、CSS樣式訪問、屬性讀寫、事件綁定、行為切換、動態載入、數據緩存、URL與AJAX等眾多功能。
dojo:一個巨大的庫,包括的東西很多,dijit和dojox是dojo的擴展,幾乎你想要的各種javascript程序都包括了。
prototype:一個非常流行的庫,使用了原型鏈向javascript中添加了很多不錯的函數
YUI:(YahooYUI庫)yahoo!用戶界面,非常實用,提供各種解決方案。
ExtJs:組件非常豐富,皮膚也很漂亮,動畫效果也豐富。
語句
JavaScript程序是由若干語句組成的,語句是編寫程序的指令。JavaScript提供了完整的基本編程語句,它們是:
賦值語句、switch選擇語句、while循環語句、for循環語句、for each循環語句、do…while循環語句、break循環中止語句、continue循環中斷語句、with語句、try…catch語句、if語句(if..else,if…else if…)。
函數
函數是命名的語句段,這個語句段可以被當作一個整體來引用和執行。使用函數要注意以下幾點:
1)函數由關鍵字function定義(也可由Function構造函數構造)
2)使用function關鍵字定義的函數在一個作用域內是可以在任意處調用的(包括定義函數的語句前);而用var關鍵字定義的必須定義後才能被調用
3)函數名是調用函數時引用的名稱,它對大小寫是敏感的,調用函數時不可寫錯函數名
4)參數表示傳遞給函數使用或操作的值,它可以是常量,也可以是變數,也可以是函數,在函數內部可以通過arguments對象(arguments對象是一個偽數組,屬性callee引用被調用的函數)訪問所有參數
5)return語句用於返回表達式的值。
6)yield語句扔出一個表達式,並且中斷函數執行直到下一次調用next。
一般的函數都是以下格式:
function myFunction(params){
//執行的語句
}
函數表達式:
var myFunction=function(params){
//執行的語句
}
var myFunction = function(){
//執行的語句
}
myFunction();//調用函數
匿名函數,它常作為參數在其他函數間傳遞:
window.addEventListener(‘load’,function(){
//執行的語句
},false);
對象
JavaScript的一個重要功能就是面向對象的功能,通過基於對象的程序設計,可以用更直觀、模塊化和可重複使用的方式進行程序開發。
一組包含數據的屬性和對屬性中包含數據進行操作的方法,稱為對象。比如要設定網頁的背景顏色,所針對的對象就是document,所用的屬性名是bgcolor,如document.bgcolor=”blue”,就是表示使背景的顏色為藍色。
事件
用戶與網頁交互時產生的操作,稱為事件。事件可以由用戶引發,也可能是頁面發生改變,甚至還有你看不見的事件(如Ajax的交互進度改變)。絕大部分事件都由用戶的動作所引發,如:用戶按滑鼠的按鍵,就產生click事件,若滑鼠的指針在鏈接上移動,就產生mouseover事件等等。在JavaScript中,事件往往與事件處理程序配套使用。
而對事件的處理,W3C的方法是用addEventListener()函數,它有三個參數:事件,引發的函數,是否使用事件捕捉。為了安全性,建議將第三個參數始終設置為false
傳統的方法就是定義元素的on…事件,它就是W3C的方法中的事件參數前加一個「on」。而IE的事件模型使用attachEvent和dettachEvent對事件進行綁定和刪除。JavaScript中事件還分捕獲和冒泡兩個階段,但是傳統綁定只支持冒泡事件。
變數
1、常用類型
Object:對象
Array:數組
Number:數
Boolean:布爾值,只有true和false兩個值,是所有類型中佔用內存最少的
null:一個空值,唯一的值是null,表空引用
undefined:沒有定義或賦值的變數
2、命名形式
一般形式是:
var 變數名表;
其中,var是javascript的保留字,表面接下來是變數說明,變數名表是用戶自定義標識符,變數之間用逗號分開。和C++等程序不同,在javascript中,變數說明不需要給出變數的數據類型。此外,變數也可以不說明而直接使用。
3、作用域
變數的作用域由聲明變數的位置決定,決定哪些腳本命令可訪問該變數。在函數外部聲明的變數稱為全局變數,其值能被所在HTML文件中的任何腳本命令訪問和修改。在函數內部聲明的變數稱為局部變數。只有當函數被執行時,變數被分配臨時空間,函數結束後,變數所佔據的空間被釋放。局部變數只能被函數內部的語句訪問,只對該函數是可見的,而在函數外部是不可見的。
運算符
javascript提供了豐富的運算功能,包括算術運算、關係運算、邏輯運算和連接運算。
1.算術運算符
javascript中的算術運算符有單目運算符和雙目運算符。雙目運算符包括:+(加)、-(減)、*(乘)、/(除)、%(取模)、|(按位或)、(按位與)、(左移)、(右移)等。單目運算符有:-(取反)、~(取補)、++(遞加1)–(遞減1)等。
2.關係運算符
關係運算符又稱比較運算,運算符包括:(小於)、=(小於等於)、(大於)、=(大於等於)、==(等於)和!=(不等於)以及 ===) 和 !==。
關係運算的運算結果為布爾值,如果條件成立,則結果為true,否則為false。
3.邏輯運算符
邏輯運算符有:(邏輯與)、||(邏輯或)、!(取反,邏輯非)、^(邏輯異或)。
4.字元串連接運算符
連接運算用於字元串操作,運算符為+(用於強制連接),將兩個或多個字元串連結為一個字元串。
5.三目操作符?
三目操作符「?:」格式為:
操作數?表式1:表達式2
三目操作符「?:」構成的表達式,其邏輯功能為:若操作數的結果為true,則表述式的結果為表達式1,否則為表達式2。例如max=(ab)?a:b;該語句的功能就是將a,b中的較大的數賦給max。
相關規則
在JavaScript中,「===”是全同運算符,只有當值相等,數據類型也相等時才成立。
等同運算符「==”的比較規則:
當兩個運算數的類型不同時:將他們轉換成相同的類型。
1)一個數字與一個字元串,字元串轉換成數字之後,進行比較。
2)true轉換為1、false轉換為0,進行比較。
3)一個對象、數組、函數與 一個數字或字元串,對象、數組、函數轉換為原始類型的值,然後進行比較。(先使用valueOf,如果不行就使用toString)
4)其他類型的組合不相等。
JavaScript想兩個運算數類型相同,或轉換成相同類型後:
1)2個字元串:同一位置上的字元相等,2個字元串就相同。
2)2個數字:2個數字相同,就相同。如果一個是NaN,或兩個都是NaN,則不相同。
3)2個都是true,或者2個都是false,則相同。
4)2個引用的是同一個對象、函數、數組,則他們相等,如果引用的不是同一個對象、函數、數組,則不相同,即使這2個對象、函數、數組可以轉換成完全相等的原始值。
5)2個null,或者2個都是未定義的,那麼他們相等。
而「===」是全同運算符,全同運算符遵循等同運算符的比較規則,但是它不對運算數進行類型轉換,當兩個運算數的類型不同時,返回false;只有當兩個運算數的類型相同的時候,才遵循等同運算符的比較規則進行比較。
例如:null==undefined 會返回真, 但是null===undefined 就會返回假!
表達式
表達式是指將常量、變數、函數、運算符和括弧連接而成的式子。根據運算結果的不同,表達式可分為算術表達式、字元表達式、和邏輯表達式。
腳本語言
不同於伺服器端腳本語言,例如PHP與ASP,JavaScript是客戶端腳本語言,也就是說JavaScript是在用戶的瀏覽器上運行,不需要伺服器的支持而可以獨立運行。所以在早期程序員比較青睞於JavaScript以減少對伺服器的負擔,而與此同時也帶來另一個問題:安全性。而隨著伺服器的強壯,雖然程序員更喜歡運行於服務端的腳本以保證安全,但JavaScript仍然以其跨平台、容易上手等優勢大行其道。
JavaScript是一種腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字元代碼發送給瀏覽器由瀏覽器解釋運行。解釋語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那麼下面的語言也無法運行。而且由於每次重新載入都會重新解譯,載入後,有些代碼會延遲至運行時才解譯,甚至會多次解譯,所以速度較慢。
與其相對應的是編譯語言,例如Java。Java的源代碼在傳遞到客戶端運行之前,必須經過編譯,因而客戶端上必須具有相應平台上的模擬器或解釋器,它可以通過編譯器或解釋器實現獨立於某個特定的平台編譯代碼的束縛。但是它必須在伺服器端進行編譯,這樣就拖延了時間。但因為已經封裝,所以能保證安全性。
Javascript庫
庫,指得是可以方便應用到現有開發體系中的、現成的代碼資源。庫不僅為大部分日常的DOM腳本編程工作提供了快捷的解決方案,而且也提供了許多獨特的工具。雖然庫使用起來很方便,但它們也並非能解決你所有的問題。在使用庫之前,一定要保證真正理解javascript的DOM原理。
這些庫一般是一個(或多個)js(Javascript的縮寫)文件,只要把他們導入你的網頁就能使用了。
常用的庫有:
jQuery:javascript庫中的新成員,提供css和xpath選擇符查找元素、ajax、動畫效果等
JSer: 國人開發的一款全功能的開源腳本框架. 藉助JSer,可以便捷的操作DOM、CSS樣式訪問、屬性讀寫、事件綁定、行為切換、動態載入、數據緩存、URL與AJAX等眾多功能。
dojo:一個巨大的庫,包括的東西很多,dijit和dojox是dojo的擴展,幾乎你想要的各種javascript程序都包括了。
prototype:一個非常流行的庫,使用了原型鏈向javascript中添加了很多不錯的函數
YUI:(YahooYUI庫)yahoo!用戶界面,非常實用,提供各種解決方案。
ExtJs:組件非常豐富,皮膚也很漂亮,動畫效果也豐富。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258396.html