主流瀏覽器及其內(nèi)核
IE? ? ? ? ? ? ? ? ? ? ? ? ? ? trident
Chrome? ? ? ? ? ? ? ? ? ? webkit / blink
firefox? ? ? ? ? ? ? ? ? ? ? ? Gecko
Opera? ? ? ? ? ? ? ? ? ? ? ? presto
Safari? ? ? ? ? ? ? ? ? ? ? ? webkit
引入js的方式
頁(yè)面級(jí)js文件? ? <script>標(biāo)簽里直接寫? ? script里面的type可以不寫驶赏,但是不能錯(cuò)
外部js文件? 在src里引入一個(gè)外部文件? ? (開發(fā)中常用的,為符合web標(biāo)準(zhǔn)結(jié)構(gòu)樣式行為相分離)
ps:如果兩個(gè)方式同時(shí)用碌廓,則優(yōu)先加載外部文件
題外話: 奔騰4 windows98 只允許文件后綴名為三位位隶,所以有htm這個(gè)歷史遺留問(wèn)題
變量
var a;? ? //變量聲明? ? ? ? a=100;? ? //變量賦值
單一var模式定義變量最佳? ? var a= 10帅掘, b = 20杠河, c ;
c = a + b;? 先計(jì)算右邊茅茂,再賦值給左邊
數(shù)據(jù)類型
原始值 ? ? 棧? ? first in last out
Number? ? Boolean? ? String? ? undefined? ? null
棧內(nèi)存之間的值是拷貝的關(guān)系或渤,一個(gè)值變了,另一個(gè)不變
不可改變的值? ?
var a = 10;? ? a = "abc"; 是可行的旷余,賦值不受類型的影響
思考下圖中的arr1應(yīng)該是多少
引用值? ? 大多數(shù)放在堆里? ? first in first out
與原始值不同绢记,拷貝的是地址指向。但是原始值是不會(huì)變的正卧,值可以改變蠢熄,是因?yàn)殚_辟了新的棧地址,原來(lái)的棧地址值還在炉旷,但是地址作廢签孔。
缺圖………………………………
語(yǔ)法規(guī)則
js代碼語(yǔ)法錯(cuò)誤會(huì)引發(fā)后續(xù)代碼終止,但不會(huì)影響其它js代碼塊窘行,也就是說(shuō)兩個(gè)script標(biāo)簽里的內(nèi)容互不影響