1.JavaScript与JSON对象
- JS与JSON之间的转换:
JSON.stringify
Stringify():该方法将 JavaScript 对象转换为字符串
把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串。
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对象。