一.JavaScript的逼格(特性)
1.解釋性語言
2.單線程 (js的執(zhí)行隊(duì)列)輪轉(zhuǎn)時(shí)間片
一個(gè)個(gè)時(shí)間片段執(zhí)行,執(zhí)行任務(wù)的順序就看搶奪的時(shí)間片段的順序!
eg:吃飯
3.ECMA的標(biāo)準(zhǔn)
因?yàn)楹芏喙径汲隽俗约旱膕cript之后為了統(tǒng)一標(biāo)準(zhǔn),后來出了ECMAScript。
二.JavaScript分成三大部分
1.ECMAScript
2.DOM
3.BOM
三.JavaScript的引入方式
可以在html的任何位置
但是為了符合web標(biāo)準(zhǔn),最好能夠結(jié)構(gòu),樣式,行為相分離。(簡(jiǎn)單來說就是)
1.內(nèi)部引用(頁面內(nèi)嵌script 標(biāo)簽)
<script type="text/javascript">
document.write('hello world!!')
</script>
2.外部文件引用
<script type="text/javascript" src="location">
</script>
不能同時(shí)進(jìn)行外部引用和內(nèi)部引用
四.JavaScript的變量
1.變量聲明
var a;
如果聲明多個(gè)變量最好一次性聲明完成,節(jié)約時(shí)間
var a,b,c,d,e;
2.變量賦值
var a;
a=100;//變量賦值
var a=100;//變量的賦值分解(先進(jìn)行變量的生命,再進(jìn)行變量的賦值!)
3.命名規(guī)則
1.變量必須以英文字母,_,$開頭
2.變量名可以包括英文字母,_,$,數(shù)字
3.不可以用系統(tǒng)的關(guān)鍵字,保留字作為變量名
關(guān)鍵字
保留字
4.數(shù)據(jù)類型
(1)不可改變的原始值(棧數(shù)據(jù))
Number 數(shù)字
Boolean 布爾類型的值(true 或者 false)
String 字符串
undefined 未被定義賦值
null 空值 : 計(jì)算中具有保留的值,用于指示指針不引用有效對(duì)象
(2)引用值
Array 數(shù)字
Object 布爾類型的值(true 或者 false)
function 字符串
...date 未被定義賦值
RegExp 空值 : 計(jì)算中具有保留的值,用于指示指針不引用有效對(duì)象
(3)兩個(gè)的區(qū)別
原始值 存放在 stack(棧)中 stack先進(jìn)去的東西最后出來,棧里和棧里的值是復(fù)制重新生成一份
var num=100;
var num1=num;
num=200
document.write(num,num1)
//結(jié)果 200 100
原始值的存放
引用值存放在heap(堆)中 在stack中存進(jìn)去一個(gè)heap中對(duì)象
var arr=[1];
var arr1=arr;
arr.push(2)
document.write(arr,arr1)
//結(jié)果 1,2 1,2
引用值的存放
但是如果是重新寫一個(gè)數(shù)組進(jìn)行對(duì)arr的賦值,這個(gè)時(shí)候并不會(huì)影響到arr1
var arr = [1,2,3];
var arr1 = arr;
arr = [1,3]
document.write(arr,arr1)
//結(jié)果 1,3 1
image.png
五.JavaScript的基本語法
1.語句后面最好用分號(hào)結(jié)束“;”
2.語法錯(cuò)誤會(huì)引發(fā)后續(xù)代碼終止,但是不會(huì)影響其他js代碼塊
(1)低級(jí)錯(cuò)誤(語法解析錯(cuò)誤)
(2)邏輯錯(cuò)誤(標(biāo)準(zhǔn)錯(cuò)誤 情有可原)