写在前面的话
做web前端开发将近一年的时间,但并非是一点点的把基础做好,只是在别人搭建好的框架基础上,去添加功能模块,用到的js技术也比较浅显,没有用到很多高级特性。所以也想要逐步打牢基础,利用闲暇时间给自己充电!
正文开始
自学的教程
阮一峰老师的JavaScript标准参考教程:https://wangdoc.com/javascript/
我的笔记——基本语法
1. 变量提升:
JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行的运行。
这造成的结果是,所有变量的声明语句,都会被提升到代码的头部,这就叫变量提升(hoisting)
console.log(a);
var a = 1;
上面的代码首先使用console.log方法,在console显示变量a的值。这时候变量a还没有声明和赋值,实际是错误的,但是运行的时候不会报错。真正运行的时候是下面的代码:
var a;
console.log(a);
a = 1;
最后结果是显示undefined,表示变量a已声明,但尚未赋值
2. 中文是合法的标识符,可以作为变量名使用:
var 临时变量 = 1;
3. switch语句后面的表达式,与case语句后面表达式比较运行结果时,是用的严格相等运算符(===),不是相等运算符, 就是说不会进行类型转换.
这里在写代码的时候也经常会出错,尤其是获取的值是String类型的比如"1",但case语句写的是1这里在写代码的时候也经常会出错,尤其是获取的值是String类型的比如"1",但case语句写的是1.
4. 标签(label):相当于定位符,用于跳转到程序的任意位置:
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) break top;
console.log('i=' + i + ', j=' + j);
}
}
这里的代码,top标签就是用于标记一个双层循环,break top则跳出双层循环,如果break后面不加top,则只能跳出内层循环。
目前我的理解是,label可以用于break或continue多层循环使用
今天是一个好的开端,后续还会继续更新学习的摘记,勤能补拙,加油!