以下内容推荐看阮一峰的JavaScript 的基本语法:点击这里
表达式
表达式一般都是有值的东西。为了得到返回值,一定会返回一个值。
表达式不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。
1+3
语句
语句是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。
语句以分号结尾,一个分号就表示一个语句结束。
分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。
var a = 1
语句一般改变当前的环境。(这两句话不是绝对的)
JS 是大小写敏感的
大部分空格是没有实际意义的
var a = 1 // var a = 1ja
return 后面不能加回车 回车后会默认在return后面加上 undefined
return undefined
标识符
命名规则如下:
第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。
第一个字符,可以是Unicode字母或$或_或中文但是不能是数字开头
后面的字符,除了上面所说,还可以有数字
//非法的
var 8v = 1;
注释
单行 //
多行注释 /* */
// 这是单行注释
/*
这是
多行
注释
*/
if语句
语法
// 写法一
if (表达式) { //表达式返回 true/false
语句1
} else {
语句2
}
//写法二
function fn() {
if (condition1) {
return
}
if (condition2) {
return
}
return
}
{}在语句只有一句可以省略
switch语句
语法
switch (key) {
case value:
break;
case value2:
break;
default:
break;
}
实例:
var a = 1
switch (a) {
case 1:
blue
break;
case 2:
green
break;
default:
red
break;
}
三元表达式
表达式1?表达式2:表达式3 //如果 真 返回表达式2 错误 返回表达式3
简化的IF语句
&&短路逻辑
语法
A && B && C && D
/* */
var c = 1;
if (c === 1) {
console.log('存在');
}
//等价于
c === 1 && console.log("存在");
2个都为真的情况下返回 B 只要A是假就返回A,如果A是真而B是假就返回B
||短路逻辑
语法
a || b || c
if(!a){
b
}else{}
while循环
语法
while(表达式){
语句
}
实例:
var i = 0;
while (i < 10) {
console.log(i);
i++;
}
//下面是一个死循环 i是个浮点数
var i = 0.1;
while (i !== 1) {
console.log(i);
i += 0.1
}
for循环
语法
for (初始化表达式; 条件; 递增表达式) {
语句
}
// 下面示例
for (let i = 0; i < 10; i++) {
console.log('执行了' + i);
}
小贴士:每次循环结束后,i增大1。
下面代码 执行了5遍5
for (var i = 0; i < 5; i++) {
setTimeout(() => {
console.log(i);
}
下面代码 就执行了1,2,3,4,5
for (let i = 0; i < 5; i++) {
setTimeout(() => {
console.log(i);
}
break 和continue
break 退出当前所有的循环 下面代码输出 1 直接就退出了循环
for (var i = 0; i < 10; i++) {
if (i % 2 === 1) {
console.log(i);
break;
}
}
continue 退出当前循环执行下个循环 下面代码输出 0 2 4 6 8
for (var i = 0; i < 10; i++) {
if (i % 2 === 1) {
continue
} else {
console.log(i);
}
}
label
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
` foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
标签通常与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);
}
}
break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。
下面代码不是一个对象
//下面是个代码块 a是label 语句是1
{
a: 1
}
资料来源:饥人谷 阮一峰
本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源