很多人初識(shí)JavaScript的時(shí)候會(huì)有很多困惑首昔,或者受一些學(xué)習(xí)網(wǎng)站的迷惑叶组,認(rèn)為JavaScript東西太多太雜快压,其實(shí)它和C也差不多。
一、位置
? ? ?用JavaScript編寫(xiě)的代碼可以放在文檔<head>標(biāo)簽中的<script>標(biāo)簽之間濒募。
? 一種更好的方式是把JavaScript代碼存為.js的獨(dú)立文件吭产;一般在文檔的<head>部分放一個(gè)<script>標(biāo)簽,但最好的做法是把<script>標(biāo)簽放在html文檔的最后脉幢,</body>標(biāo)簽之前歪沃,這樣能使瀏覽器更快的加載頁(yè)面。
二嫌松、語(yǔ)法
語(yǔ)句
如果把多條語(yǔ)句放在一行上沪曙,需要用分號(hào)分割,或者說(shuō)在每條語(yǔ)句之后加一個(gè)分號(hào)萎羔;但一行的最后一條語(yǔ)句并不要求加分號(hào)液走,瀏覽器會(huì)自動(dòng)添加。
注釋
一行注釋?zhuān)?i>//這是注釋
? ? ? ? ? ?或者<!--這是注釋
多行注釋?zhuān)?i>/*這是注釋
? ? ? ? ? ? ? ? ? ? ? 這是注釋*/
變量
? ? ?JavaScript允許程序員直接對(duì)變量賦值而無(wú)需事先聲明贾陷,賦值語(yǔ)句會(huì)自動(dòng)為未聲明的變量聲明缘眶,但是提前聲明變量是一種良好的習(xí)慣。
? ?例如 ?var age=10,mood="happy"
? ? 在JavaScript里髓废,變量和其他語(yǔ)法元素的名字都是區(qū)分大小寫(xiě)的磅崭。
? ? ?JavaScript語(yǔ)法不允許變量名中包含空格或標(biāo)點(diǎn)符號(hào)(美元符號(hào)"$"例外)。
? ? ?JavaScript變量名允許包含字母瓦哎、數(shù)字砸喻、美元符號(hào)和下劃線(xiàn)(但第一個(gè)字符不允許是數(shù)字)。
數(shù)據(jù)類(lèi)型
? ? JavaScript對(duì)不同類(lèi)型變量進(jìn)行聲明和賦值的語(yǔ)法完全一樣蒋譬。JavaScript是一種弱類(lèi)型語(yǔ)言割岛,程序員可以在任何階段改變變量的數(shù)據(jù)類(lèi)型。
? ? ?1犯助、字符串
? ? ? 字符串由零個(gè)或多個(gè)字符構(gòu)成癣漆。字符包括(但不限于)字母、數(shù)字剂买、標(biāo)點(diǎn)符號(hào)和空格惠爽,字符串必須包含在引號(hào)里癌蓖,單引號(hào)雙引號(hào)都可以。
? ? ? ? 當(dāng)字符串中包含引號(hào)時(shí)婚肆,需要進(jìn)行轉(zhuǎn)義租副,在JavaScript中用反斜杠(\)對(duì)字符進(jìn)行轉(zhuǎn)義。
var mood='don\'t ask'
? ? ? ? 2较性、數(shù)值
? ? ? ? 3用僧、布爾值
var married=true
數(shù)組
? ? ? ? 在JavaScript中,數(shù)組可以用關(guān)鍵字Array聲明赞咙。聲明的同時(shí)可以指定初始元素個(gè)數(shù)责循,但也可以不給出元素個(gè)數(shù)。
var beatles=Array(4)
var beatles=Array()
像數(shù)組中添加元素的操作稱(chēng)為填充
方法:
var beatles=Array(4)
beatles[0]="John"
beatles[1]="Paul"
beatles[2]="Apple"
beatles[3]="Johniful"
或者
var beatles = Array("John", ?"Paul", ?"Apple", ?"Johniful")
甚至我們用不著明確的表示我們?cè)趧?chuàng)建數(shù)組攀操。只需用一對(duì)方括號(hào)把各個(gè)元素的初始值括起來(lái)就可以了:
var years=[10,11,12,13]
甚至可以把不同數(shù)據(jù)類(lèi)型混在一起:
var John=[20,true,"happy"]
數(shù)組還可以包含其他的數(shù)組院仿!數(shù)組中的任何一個(gè)元素都可以把一個(gè)數(shù)組作為它的值:
var lennon=["John",1940,false]
var beatles=[]
beatles[0]=lennon
按我的理解這可以稱(chēng)為多維數(shù)組。
關(guān)聯(lián)數(shù)組
? ? ?通過(guò)在填充數(shù)組時(shí)為每個(gè)元素明確給出下標(biāo)來(lái)改變?yōu)g覽器的默認(rèn)行為速和,下標(biāo)不必局限于整數(shù)歹垫。
var lennon=Array()
lennon["name"]="John"
lennon["year"]=1940
lennon["living"]=false
? ? 這樣的數(shù)組叫做關(guān)聯(lián)數(shù)組,由于可以用字符串來(lái)代替數(shù)字值健芭,因而代碼更具有可讀性县钥。實(shí)際上,這是為數(shù)組添加屬性慈迈。
對(duì)象
? ? 對(duì)象的每個(gè)值都是對(duì)象的一個(gè)屬性若贮。創(chuàng)建對(duì)象使用Object關(guān)鍵字,使用點(diǎn)號(hào)來(lái)獲取屬性痒留。
創(chuàng)建對(duì)象
var lennon=Object();
lennon.name="John"
lennon.year=1940
lennon.living=false
更簡(jiǎn)潔的語(yǔ)法
{propertyName:value,propertyName:value}
var lennon = {name:"John", year:1940, ?living:false}
? ? ? 屬性值也可以是其他對(duì)象