一.JavaScript的逼格(特性)
1.解釋性語言
2.單線程 (js的執(zhí)行隊列)輪轉(zhuǎn)時間片
一個個時間片段執(zhí)行,執(zhí)行任務的順序就看搶奪的時間片段的順序!
eg:吃飯
3.ECMA的標準
因為很多公司都出了自己的script之后為了統(tǒng)一標準,后來出了ECMAScript。
二.JavaScript分成三大部分
1.ECMAScript
2.DOM
3.BOM
三.JavaScript的引入方式
可以在html的任何位置
但是為了符合web標準,最好能夠結(jié)構(gòu),樣式,行為相分離。(簡單來說就是)
1.內(nèi)部引用(頁面內(nèi)嵌script 標簽)
<script type="text/javascript">
document.write('hello world!!')
</script>
2.外部文件引用
<script type="text/javascript" src="location">
</script>
不能同時進行外部引用和內(nèi)部引用
四.JavaScript的變量
1.變量聲明
var a;
如果聲明多個變量最好一次性聲明完成,節(jié)約時間
var a,b,c,d,e;
2.變量賦值
var a;
a=100;//變量賦值
var a=100;//變量的賦值分解(先進行變量的生命,再進行變量的賦值?。?
3.命名規(guī)則
1.變量必須以英文字母,_,$開頭
2.變量名可以包括英文字母,_,$,數(shù)字
3.不可以用系統(tǒng)的關鍵字,保留字作為變量名

關鍵字

保留字
4.數(shù)據(jù)類型
(1)不可改變的原始值(棧數(shù)據(jù))
Number 數(shù)字
Boolean 布爾類型的值(true 或者 false)
String 字符串
undefined 未被定義賦值
null 空值 : 計算中具有保留的值,用于指示指針不引用有效對象
(2)引用值
Array 數(shù)字
Object 布爾類型的值(true 或者 false)
function 字符串
...date 未被定義賦值
RegExp 空值 : 計算中具有保留的值,用于指示指針不引用有效對象
(3)兩個的區(qū)別
原始值 存放在 stack(棧)中 stack先進去的東西最后出來,棧里和棧里的值是復制重新生成一份
var num=100;
var num1=num;
num=200
document.write(num,num1)
//結(jié)果 200 100

原始值的存放
引用值存放在heap(堆)中 在stack中存進去一個heap中對象
var arr=[1];
var arr1=arr;
arr.push(2)
document.write(arr,arr1)
//結(jié)果 1,2 1,2

引用值的存放
但是如果是重新寫一個數(shù)組進行對arr的賦值,這個時候并不會影響到arr1
var arr = [1,2,3];
var arr1 = arr;
arr = [1,3]
document.write(arr,arr1)
//結(jié)果 1,3 1

image.png
五.JavaScript的基本語法
1.語句后面最好用分號結(jié)束“;”
2.語法錯誤會引發(fā)后續(xù)代碼終止,但是不會影響其他js代碼塊
(1)低級錯誤(語法解析錯誤)
(2)邏輯錯誤(標準錯誤 情有可原)