JavaScript初級學習筆記

一、關於JavaScript
1、什麼是JavaScript?
JavaScript是一種面向對象的程序語言。
在程序中,對象是有“屬性”和“方法”構成的。
一個“東西”就是“對象”。
“對象”的“屬性”就是自身的特徵,如:身高、體重、年齡等。
“對象”的“方法”就是動作或者行爲,如:開車、打遊戲等。
JS程序可以在多種平臺下運行——跨平臺,如:Windows、Linux、OS X等。
JS只能在客戶端的瀏覽器來運行,不能在服務器端運行——客戶端腳本程序。
2、JavaScript能做什麼?
表單驗證:JavaScript的基本功能。
動態HTML:實現一些動態的、重複的效果。
交互:人機交互,通過鍵盤或者鼠標,與網頁中的元素進行交互。
數據綁定:HTML中表單和表格能夠以.txt文件定義的數據源,通過對位於服務器端的數據源文件的訪問,便可以將數據源中的數據傳送到客戶端,並將這些數據保存在客戶端。
少量數據查找:能夠實現在當前頁面中進行字符串的查找和替換。
AJAX核心技術:AJAX即異步JavaScript+XML。該對象提供一種支持異步請求的技術,使客戶端可以使用JavaScript向服務器提出請求並處理響應,但並不影響用戶在客戶端的瀏覽。
3、<script></script>標記
同一網頁中,可以有HTML代碼、CSS代碼、JavaScript代碼。
通過<script></script>來引入JS程序代碼。
4、其他
註釋:
HTML的註釋:<!--註釋內容-->
CSS的註釋:/*註釋*/
JavaScript的註釋:///*多行註釋*/
常用輸出方法
①、document.write(str)
描述:在網頁中輸出str的內容。
document是一個文檔對象,代表整個網頁。
write()是document對象的一個輸出方法。
“.”:通過小數點(.)來調用對象的方法。
str:表示要輸出的內容。
②、window.alert(str)
描述:在當前窗口中彈出一個警告對話框,str爲對話框中顯示的內容。
window代表當前瀏覽器窗口,window是一個窗口對象。
alert()方法:彈出一個對話框。
str:表示要輸出的內容。

JavaScript中每一條語句,一般以“;”結束。這個分號不是必須的,爲了向PHP兼容,最好加上分號。

運算符和變量以及操作之間可以使用空格分開,可提高程序可讀性。
如:var a = 100;

二、變量
1、變量的聲明
格式:var 變量名=變量值
var是聲明變量的系統關鍵字。
舉例:
var name;//聲明一個變量
var name,sex,age;//同時聲明多個變量,用逗號隔開
var name=“張三”;//聲明變量並賦值

2、變量的命名規則
變量名可以包含字母、數字、下劃線。
變量名不能以數字開頭,可以以字母或者下劃線開頭。
變量名不能是系統關鍵字。如:var、switch、for、try、case、while等。
JS中的變量名是區分大小寫的。如:name和Name是兩個變量。
JS中變量的名稱一定要有意義。

“駝峯式命名”:第一個單詞全小寫,後邊的每個單詞首字母大寫。如:var getUserName。
“下劃線式命名”:所有單詞全小寫,中間用下劃線連接。如:var get_user_name

3、變量賦值
語法:var 變量名=變量值
將“=”右邊的“運算結果”賦給左邊的變量,“=”左邊只能是一個變量名,而不能是“運算表達式”。

4、變量的數據類型
“你多大鞋,我多大腳。”
變量的值是什麼類型的,變量就是什麼類型的。
JavaScript中的變量的類型有:
基本數據類型:數據型、字符型、布爾型、未定義型(undefined)、空型(null);
複合數據類型:數組(array)、對象(object)、函數(function)。

①數值型:可以進行算術運算的(加、減、乘、除)
數值型包括:整型、浮點型、NaN。
數值型中的特殊值NaN(not a number)不是一個數字。
當將其他數據類型轉成數值型轉不過去時,程序無法報錯,這時將返回一個NaN值。

②字符型:用單引號或雙引號引起來的一個字符串
單引號和雙引號之間可以相互嵌套;單引號只能嵌套雙引號;雙引號只能嵌套單引號。
如果想在雙引號內,再嵌套雙引號,裏面的雙引號,一定要進行轉義(\”)。

JavaScript中的轉義字符是反斜槓()。
常用額轉義字符有:\’、\”、\、\r、\n等。

注意:字符型變量可以使用“+”進行“連接”,但非算術運算。

③布爾型
布爾型又稱邏輯型。只有兩個值:true(真)、false(假)。

④未定義型
當一個變量定義,但未賦值時,將返回未定義型,未定義型的值只有一個undefined。
當一個對象的屬性不存在,也返回未定義型。

⑤空型
當一個對象不存在時,將返回空型,空型的值只有一個null。
也可以理解爲:是一個對象的佔位符。
如果你想清除一個變量的值,可以將其賦值爲null。

5、運算符
①判斷變量的數據類型:typeof()
typeof()返回一個類型的字符串:”string”、”number”、”boolean”、”undefined”、”object”、”function”。
null、對象、數組這三種類型,都將返回”object”。

②從字符中提取整數和浮點數函數
parseInt()系統函數、全局函數
描述:在一個字符串中、從左往右提取整型。如果遇到非整型的內容,則停止提取,並返回結果,如果第一個字符就是非整數,則立即停止,並返回NaN。
parseInt(“120px”)=120
parseInt(“120.98”)=120
parseInt(“a120px”)=NaN

parseFloat()系統函數、全局函數
描述:在一個字符串中,從左往右提取浮點型;遇到非浮點型內容,則停止提取,並返回結果,如果第一個字符是非浮點型,則立即停止,並返回NaN。
parseFloat(“120px”)=120
parseFloat(“120.98”)=120.98
parseFloat(“.98”)=0.98
parseFloat(“a.98”)=NaN

三、JavaScript運算符
1、比較運算符:>、<、>=、<=、==、!=、===、!==
比較運算符的運算結果是布爾值(true或false)。
“==”等於:只比較兩個變量的值,而不管類型。只要值一樣,就返回true,否則返回false。
“===”全等於:既比較變量,也判斷類型。如果類型和值都一樣,返回true,否則返回false。

2、邏輯運算符:&&、||、!

3、三元運算符:?:
語法: 條件表達式?結果1:結果2
描述:如果條件爲true,則執行“結果1”,否則執行“結果2”

4、特殊運算符
new運算符:創建一個對象。如:var today = new Data();//創建一個當前系統日期時間對象
delete運算符:刪除數組的元素,或者對象的屬性
typeof運算符:一元運算符,主要功能:判斷變量的類型。如:typeof name或typeof(name)
點運算符():主要應用在對象中,通過點運算符(.)去調用屬性或方法。如:window.alert(“OK”)
[]中括號:主要用來訪問數組元素。如:arr[0]=1000;//找到下標爲0的數組元素,並重新賦值

5、運算符的優先級


  • .、[]、new、() 級別最高
  • !、++、–
  • *、/、%
  • +、-
  • >、<、>=、<=
  • ==、!=、===、!==
  • &&、||、?:
  • =、+=、-=、*=、/=、%= 級別最低

特殊運算符>算術運算符>比較運算符>邏輯運算符>賦值運算符

四、函數
1、函數的定義格式

function functionName([參數1],[參數2],[參數N]){
函數的功能代碼;
[return 參數r]
}

說明:
function:關鍵字,全小寫
functionName:函數名稱。函數名的命名規則與變量命名一樣。
():參數。參數可有可無,多個參數之間用逗號隔開。參數不需要聲明,直接使用。
{}:函數的功能。
return語句,用於向函數調用者返回一個值,並立即結束函數的運行。

在函數內部,省略關鍵字var定義的變量是“全局變量”

五、拷貝傳值和引用傳址
1、拷貝傳值:基本數據類型都是“拷貝傳值”。
拷貝傳值,就是將一個變量的值“拷貝”一份,傳給了另一個變量。
拷貝傳值中的兩個變量是相互獨立的,沒有任何聯繫。
基本數據類型存在“快速內存”“棧內存”中的。因爲,基本數據類型只有一個變量名和一個變量值。

拷貝傳值示例:

var a = 10;//聲明變量
var b = a;//將變量a的值“拷貝”一份,賦值給變量b
a = 100;//重新給變量a賦值100
alert(b);//b = 10
alert(a);//a = 100

2、引用傳址:複合數據類型都是“引用傳地址”
複合數據類型的存儲分兩步:
(1)強變量名和數據地址存在“快速內存”“棧內存”中;
(2)具體的數據存在“慢速內存”“堆內存”中。
引用傳址:將一個變量的數據地址“拷貝”一份,傳給另一個變量。這兩個變量,指向“同一個地址”。

var a = {name:"張三",age:20}
var b = a;//將變量a的地址賦值給變量b
alert(b.age);//輸出結果爲20
a.age = 30;//給對象變量a的屬性age重新賦值
alert(b.age);//輸出結果爲30

六、匿名函數:沒有函數名
匿名函數,不能單獨定義額,也不能單獨調用。
匿名函數一般作爲數據給其他變量賦值。可以給普通變量、數組元素、對象的屬性賦值。

示例:

var a = 10;//將數值賦給變量a,那麼變量a就是“數值型”變量
var a = "abc";//將字符賦給變量a,那麼變量a就是“字符型”變量
var a = function(name,age){//將函數賦值給變量a,那麼變量a就是“函數型”變量
            window.alert(name+"的年齡是:"+age=“歲!”);
}
//調用函數
a("張三",20);
var b = a;//將變量a的地址“拷貝”一份傳給了變量b
b("李四",11);

七、對象
1、對象的概念
對象是由“屬性”和“方法”構成。
2、JS中對象分類
①JS內置對象:數組對象、日期對象、字符串對象。。。
②BOM對象:瀏覽器各組件對象,包括:window、document、location、history。。。
③DOM對象:文檔對象,包括:所有的HTML標記,每一個HTML標記都是一個對象。
④自定義對象:根據自己項目需要,自己定義自己的對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章