標籤:類型 val 長度 abs name catch shift web asc
JavaScript
JavaScript是一門程式設計語言,瀏覽器內建了JavaScript語言的解譯器,所以在瀏覽器上按照JavaScript語言的規則編寫相應代碼之,瀏覽器可以解釋並做出相應的處理。
一、基本文法
1、JavaScript代碼存在形式
<!-- 方式一 --><script type"text/javascript" src="JS檔案"></script> <!-- 方式二 --><script type"text/javascript"> Js代碼內容</script>
2、JavaScript代碼存放位置
- HTML的head中
- HTML的body代碼塊底部(推薦)
由於Html代碼是從上到下執行,如果Head中的js代碼耗時嚴重,就會導致使用者長時間無法看到頁面,如果放置在body代碼塊底部,那麼即使js代碼耗時嚴重,也不會影響使用者看到頁面效果,只是js實現特效慢而已。
二、變數
JavaScript中變數的聲明,局部變數必須一個 var 開頭,如果未使用var,則預設表示聲明的是全域變數。
<script type="text/javascript"> // 全域變數 name = ‘seven‘; function func(){ // 局部變數 var age = 22; // 全域變數 gender = "男" }</script>
JavaScript中代碼注釋:
注意:此注釋僅在Script塊中生效。
三、資料類型
JavaScript 中的資料類型分為原始類型和物件類型:
特別的,數字、布爾值、null(JavaScript語言的關鍵字,它表示一個特殊值,常用來描述“空值”)、undefined(是一個特殊值,表示變數未定義)、字串是不可變。
1、數字(Number)
JavaScript中不區分整數值和浮點數值,JavaScript中所有數字均用浮點數值表示。
轉換:
- parseInt(..) 將某值轉換成數字,不成功則NaN
- parseFloat(..) 將某值轉換成浮點數,不成功則NaN
特殊值:
- NaN,非數字。可使用 isNaN(num) 來判斷。
- Infinity,無窮大。可使用 isFinite(num) 來判斷。
更多數值計算:
常量Math.E常量e,自然對數的底數。Math.LN1010的自然對數。Math.LN22的自然對數。Math.LOG10E以10為底的e的對數。Math.LOG2E以2為底的e的對數。Math.PI常量figs/U03C0.gif。Math.SQRT1_22的平方根除以1。Math.SQRT22的平方根。靜態函數Math.abs( )計算絕對值。Math.acos( )計算反餘弦值。Math.asin( )計算反正弦值。Math.atan( )計算反正切值。Math.atan2( )計算從X軸到一個點的角度。Math.ceil( )對一個數上舍入。Math.cos( )計算餘弦值。Math.exp( )計算e的指數。Math.floor( )對一個數下舍人。Math.log( )計算自然對數。Math.max( )返回兩個數中較大的一個。Math.min( )返回兩個數中較小的一個。Math.pow( )計算xy。Math.random( )計算一個隨機數。Math.round( )舍入為最接近的整數。Math.sin( )計算正弦值。Math.sqrt( )計算平方根。Math.tan( )計算正切值。
2、字串(String)
字串是由字元組成的數組,但在JavaScript中字串是不可變的:可以訪問字串任意位置的文本,但是JavaScript並未提供修改已知字串內容的方法。
常見功能:
obj.length 長度 obj.trim() 移除空白obj.trimLeft()obj.trimRight)obj.charAt(n) 返回字串中的第n個字元obj.concat(value, ...) 拼接obj.indexOf(substring,start) 子序列位置obj.lastIndexOf(substring,start) 子序列位置obj.substring(from, to) 根據索引擷取子序列obj.slice(start, end) 切片obj.toLowerCase() 大寫obj.toUpperCase() 小寫obj.split(delimiter, limit) 分割obj.search(regexp) 從頭開始匹配,返回匹配成功的第一個位置(g無效)obj.match(regexp) 全域搜尋,如果正則中有g表示找到全部,否則只找到第一個。obj.replace(regexp, replacement) 替換,正則中有g則替換所有,否則只替換第一個匹配項, $數字:匹配的第n個組內容; $&:當前匹配的內容; $`:位於匹配子串左側的文本; $‘:位於匹配子串右側的文本 $$:直接量$符號
3、布爾類型(Boolean)
布爾類型僅包含真假,與Python不同的是其首字母小寫。
- == 比較值相等
- != 不等於
- === 比較值和類型相等
- !=== 不等於
- || 或
- && 且
4、數組
JavaScript中的數組類似於Python中的列表
常見功能:
obj.length 數組的大小 obj.push(ele) 尾部追加元素obj.pop() 尾部擷取一個元素obj.unshift(ele) 頭部插入元素obj.shift() 頭部移除元素obj.splice(start, deleteCount, value, ...) 插入、刪除或替換數組的元素 obj.splice(n,0,val) 指定位置插入元素 obj.splice(n,1,val) 指定位置替換元素 obj.splice(n,1) 指定位置刪除元素obj.slice( ) 切片obj.reverse( ) 反轉obj.join(sep) 將數組元素串連起來以構建一個字串obj.concat(val,..) 串連數組obj.sort( ) 對數組元素進行排序
四、語句和異常
1、條件陳述式
JavaScript中支援兩個中條件陳述式,分別是:if 和 switch、
if(條件){ }else if(條件){ }else{ }if語句
switch(name){ case ‘1‘: age = 123; break; case ‘2‘: age = 456; break; default : age = 777; }switch語句
2、迴圈語句
JavaScript中支援三種迴圈語句,分別是:
var names = ["alex", "tony", "rain"]; for(var i=0;i<names.length;i++){ console.log(i); console.log(names[i]);}方式一
var names = ["jack", "tony", "rain"];for(var index in names){ console.log(index); console.log(names[index]);}方式二
while(條件){ // break; // continue;}方式三
3、異常處理
try { //這段代碼從上往下運行,其中任何一個語句拋出異常該代碼塊就結束運行}catch (e) { // 如果try代碼塊中拋出了異常,catch代碼塊中的代碼就會被執行。 //e是一個局部變數,用來指向Error對象或者其他拋出的對象}finally { //無論try中代碼是否有異常拋出(甚至是try代碼塊中有return語句),finally代碼塊中始終會被執行。}
註:主動跑出異常 throw Error(‘xxxx‘)
五、函數
1、基本函數
JavaScript中函數基本上可以分為一下三類:
// 普通函數 function func(arg){ return true; } // 匿名函數 var func = function(arg){ return "tony"; } // 自執行函數 (function(arg){ console.log(arg); })(‘123‘)
注意:對於JavaScript中函數參數,實際參數的個數可能小於形式參數的個數,函數內的特殊值arguments中封裝了所有實際參數。
【python】-- web開發之JavaScript