1.JavaScript與JSON對象
- JS與JSON之間的轉換:
JSON.stringify
Stringify():該方法將 JavaScript 對象轉換爲字符串
Parse():該方法將字符串對象轉成JS。在調試時可以體會對應的差別
調試測試:詳可見第二節第一步。注意文件要對應爲js文件——>保證tsc -w始終運行中。
- JS的相關特性:
一切皆對象:函數調用與賦值均可用var:
//正常函數
function a(){
console.log('a');
}
//一切皆對象
var p = function(){
console.log('p');
}
//箭頭函數?
var q = () =>{
console.log('q');
}
a();
p();
q();
調試結果: a p q;
函數嵌套:
//定義函數b,b中嵌套了聲明爲Function的c
function b(c :Function) {
return c();
}
b(a);
調試結果: a;
現在來試着傳入參數,引入i並將其傳入函數c中:
function b(c :Function) {
i++;
if(i>2){
c(i);
}
return c();
}
並試着將q函數重寫:加入參數:
var q = (i) =>{
console.log('q:'+i);
}
q(i);
並通過b函數調用q:
b(q);
b(q);
b(q);
b(q);
調試結果:
來分析結果:q(i)是返回的q:0;但是在第一個b(q)中:因爲i未達到,只返回c(),也就是q() ->但是此時的q()是需要傳值的,於是有了q:undefined這樣的返回。也就是說:在JS中,無值傳入時是不會報錯的,只有undefined,所以在開始獲取值時需要進行判斷。
- OK現在試試網頁交互:新建一個html文件,注意路徑應和你要script src = 的路徑在一個文件夾下面:大概是這樣一個意思
這時候右鍵去手動打開html文件:F12後切Console:應該是JS下運行的結果:
另外,在Sources裏打開相關ts文件後可以在瀏覽器中調試:加斷點,前提是vscode還在運行中:
2.TypeScript——官方介紹:
https://www.tslang.cn/docs/home.html
相關知識點:核心:
Const聲明的元素不再被修改;
Let聲明的元素無法跨範圍,即在函數內聲明時採用let,不對範圍外產生干擾;
Var聲明的元素範圍較let更廣,一般可理解爲全局變量。
數據庫相關:
Mysql數據庫:關係型數據庫;
Redis數據庫:KV數據庫:鍵->值;
Mongodb:文檔數據庫:JSON對象。