JavaScript语法
学习方式:取其精华、去其糟粕、只讲变态。
前言:
由于ES3,ES5比较垃圾,而新的JS版本永远支持旧版本,所以ES6一半垃一半好,学习时要取其精华、去其糟粕。
为啥叫只讲变态呢,因为常态的东西一般都不会错,记住容易错的,不就学会了吗?面试考的就是变态的。
- 表达式和语句
- 标识符的规则
- if else语句
- switch语句
- 问号冒号表达式
- 短路逻辑
- while for语句
- break continue
- lable
1. 表达式和语句
表达式(取值)、语句(改变环境)
- 变量指的是在程序中保存数据的一个容器
- 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
- 也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他
- 语法: var 变量名 = 值
// 定义一个变量
var num;
// 给一个变量赋值
num = 100;
// 定义一个变量的同时给其赋值
var num2 = 200;
变态: return
后不能加回车
2. 标识符的规则
变态: 取名字用的符号,反正不能是 数字开头
3. if else
语句 需要 === 3个等于
变态:如果if下面有2个语句,只管到下面第一个语句
4. switch
语句
5. 问号冒号表达式(最简单的if else
)
6. 短路逻辑 &&
如果前面为真 ,就求后面的。
下面有2道题,大家不知道答案可以打开控制太去试试:
A题: 1 && 2
的值是 (2)
- 1
- 2
- trueC
B题 : 0 && 2
的值是(0)
- 0
- 2
- false
变态:他的值大部分都不是 true和false
7. while for
语句
- while循环的语法和if非常相似,几乎完全一样,但区别是,只要给定条件的结果是true,那花括号中的代码就会反复执行下去:
- for循环和while循环是类似的,事实上它是while循环的一种变体,一种更紧凑的形式而已。
// while
var num = 1;
while(num < 10) {
alert(num);
num++;
}
// for
var i;
for (i = 1; i < 10; i++) {
alert(i);
}
8. break
break
语句和continue
语句都具有跳转作用,可以让代码不按既有的顺序执行。
break语句用于跳出代码块或循环。
var i = 0;
while(i < 100) {
console.log('i 当前为:' + i);
i++;
if (i === 10) break;
}
上面代码只会执行10次循环,一旦i等于10,就会跳出循环。 for循环也可以使用break语句跳出循环。
for (var i = 0; i < 5; i++) {
console.log(i);
if (i === 3)
break;
}
// 0
// 1
// 2
// 3
上面代码执行到i等于3,就会跳出循环。 continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
var i = 0;
while (i < 100){
i++;
if (i % 2 === 0) continue;
console.log('i 当前为:' + i);
}
9. lable
JavaScript
语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label:
语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
标签通常与break语句和continue语句配合使用,跳出特定的循环。
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);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
上面代码为一个双重循环区块,break
命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。如果break
语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。
标签也可以用于跳出代码块。
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
// 1
// 2
上面代码执行到break foo,就会跳出区块。 continue语句也可以与标签配合使用。
top:
for (var i = 0; i < 3; i++){
for (var j = 0; j < 3; j++){
if (i === 1 && j === 1) continue top;
console.log('i=' + i + ', j=' + j);
}
}
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2
上面代码中,continue
命令后面有一个标签名,满足条件时,会跳过当前循环,直接进入下一轮外层循环。如果continue
语句后面不使用标签,则只能进入下一轮的内层循环。
本文参考了知乎、CSDN、网道JavaScript 的一些知识,有描述不准确的地方还希望大多多家指正!!!
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!