javascript
JS基础:1
一、簡介:
由網景公司開發的一種基于客戶端、面向(基于)對象、事件驅動的網頁腳本語言
二、基本語法
2.1:變量
用來儲存臨時數值的容器,儲存的值可以變化
?? 語法:var 變量名 = 值
局部變量:在函數中聲明的變量
? 全局變量:在代碼中直接聲明的變量
2.2:數據類型
?? string(字符串類型)、number(數值類型)、boolean(布爾類型true、false)、undefined(未定義類型)、null(空類型)、object(對象類型)
2.3:運算符
?? 算術:+、-、*、/、%、++、--
?? 比較:>、<、<=、>=、==、===(全等于)、!=、!==(不全等)
邏輯:&&(與)、||(或)、!(非)
賦值:=、-=、+=、*=、/=、%=
?? 字符串:+
2.4:流程結構
? 順序結構:一行一行代碼執行
?? 分支結構:if...else、if...else if ...else、switch
2.5:循環結構
?? for..、while...、do...while、for...in(相當于php中的foreach)
2.6:break和continue
?? break:退出循環語句
?? continue:結束當前循環、執行下次循環
語法總結:
1.javascript區分大小寫
2.javascript腳本必須嵌入到HTML文件中
3.語句以;結束
4.javascript腳本程序可以獨立保存一個外部文件。引用js文件時在script標簽中src屬性引用
三、函數
3.1:系統函數
?? alert('內容'):警告框
?? confirm('內容'):確認框
?? ...
3.2:自定義函數
?? 語法:
function 函數名(形參列表){
? 函數體;
? return 表達式;
}
? 3.3:匿名函數
//演示匿名函數 var i = function (name){alert(name + ',你好!'); }; //調用匿名函數 i('老張'); View Code結果:
? 3.4:自調用匿名函數
說明:為了避免函數沖突、重命名等問題,自調用匿名函數會馬上執行。
//演示自調用匿名函數 (function (name){alert(name + ',hello') ; })('老張'); View Code運行結果:
? 3.5:arguments
arguments是函數的形參數組列表,在函數內使用它可以不用在意調用函數傳遞了多少個參數
function display(){//arguments屬性像數組卻不是數組 for(var i=0; i<arguments.length;i++){document.write(arguments[i]+'<hr/>');} } //調用 display('參數1','參數2','參數3','參數4','參數5'); View Code運行結果:
3.6:函數作用域
全局變量:在代碼塊或者說函數外部定義的
在代碼執行了,外部全局變量不能調用內部局部變量
局部變量:在函數內部定義的
在代碼執行時,函數內部變量可調用外部全局變量
當在函數內部聲明變量,未曾使用var關鍵字則相當于定義了一個全局變量,該變量會覆蓋外部同名全局變量
在函數內部聲明一個函數,則在外部無法訪問該函數內部的函數
四、JS錯誤
4.1:編譯錯誤
編譯錯誤(語法錯誤)會使該段JS代碼全部無法執行,但不會影響同一一面中的另外JS腳本
執行錯誤,會使同一段JS腳本以下的代碼無法執行,但不會影響同一頁面中的另外JS腳本
五、JS執行原理圖
六、數組
一維數組
6.1:說明
數據的集合,在內存中表示一段連續的內存地址,JS中數組屬于object類型
6.2:定義
//數組的定義 //方式一 var arr1 = ['張三','李四','王五']; //方式二 new var arr2 = new Array('張三','李四','王五'); //方式三 var arr3 = new Array(3); arr3[0] = '張三'; arr3[1] = '李四'; arr3[2] = '王五'; View Code6.3:遍歷(for循環和for...in)
//數組演示var arr = ['張三','李四','王五'];//for循環遍歷document.write('for循環遍歷<br/>');for (var i=0;i<arr.length;i++){document.write(arr[i]+'<br/>');}document.write('<hr/>');//for...in遍歷document.write('for...in遍歷<br/>');for(var i in arr){document.write(arr[i]+'<br/>');} View Code執行結果:
二維數組:
說明:數組的數組
遍歷:for..in
//二維數組var arr = [['1','小明'],['2','小紅'],['3','小剛']];//遍歷for(var i in arr){document.write('編號:'+arr[i][0]+',姓名:'+arr[i][1]+'<br/>');} View Code結果:
文本下標數組:
說明:數組的下標是字符串,
注意:
文本下標是不計算到數組長度中的,文本下標以數組的屬性存在,可以通過訪問數組屬性的方式訪問。
文本下標的數組只能用for...in遍歷
demo:
//文本數組var arr = ['張三','李四','王五'];arr['abc'] = '趙六';arr['bcd'] = '錢七';//文本下標數組以數組的屬性形式存在,訪問方式有兩種:arr.文本下標、arr['文本下標']document.write(arr.abc+'||'+arr['abc']);document.write('<br/>');//遍歷for(var i in arr){document.write('文本下標:'+i+' ')document.write('值為:'+arr[i]+'<br/>');} View Code執行結果:
?
轉載于:https://www.cnblogs.com/gzc0918/p/5099775.html
總結