JavaScript基本语法

124 阅读2分钟

表达式和语句

表达式

1+2表达式的为3。
add(1,2)表达式的值为函数的返回值
console.log表达式的值为函数本身。
console.log(3)表达式的值为 undefined,打印出来的才是3。

语句

var a =1 是一个语句

二者的区别

  1. 表达式一般都有值,语句可能有也可能没有
  2. 语句一般会改变环境(声明、赋值)
  3. 上面两句话并不是绝对的
  • 注意
  1. 大小写敏感
  2. 大部分空格没有实际意义(大部分时候加回车也不影响,但return后不能加回车)

标识符的规则

  • 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
  • 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9

if else 语句

语法

if (表达式){语句1}else{语句2}
例如:

if (m === 3) {
  // 满足条件时,执行的语句
} else {
  // 不满足条件时,执行的语句
}

最推荐的写法

if (表达式 ) {
语句
} else if (表达式 ) {
语句
} else {
语句
}

次推荐写法

function fn(){
if (表达式 ) {
return 表达式
}
if ( 表达式) {
return 表达式
}
return 表达式
}

其他条件语句

问号冒号表达式

语法: 表达式1?表达式2:表达式3

function max(a,b){
 if(a>b)return a ;
 else return b;
function max(a,b){
 return a>b ? a:b

以上两段代码表达相同

&&短路逻辑

A && B && C && D 取第一个假值或D
并不会取true/false

例如:

console && console.log && console.log('hi')
// hi

||短路逻辑

A || B || C || D取第一个真值或D
并不会取true/false

例如:

a = a ||100

if(a){
a=a
}else{
a=100  //保底值
}

while for 语句

while 循环

语法:while (表达式){语句}

  • 判断表达式真假
  • 当表达式为真,执行语句,执行完再判断表达式的真假
  • 当表达式为假,执行后面的语句

for 循环

语法:
for(语句1;表达式2;语句3){
循环体
}

  • 先执行语句1
  • 然后判断表达式2
  • 如果为真,执行循环体,然后执行语句3
  • 如果为假,直接退出循环,执行后面的语句 例如:
var x = 3;
for (var i = 0; i < x; i++) {
  console.log(i);
}
// 0
// 1
// 2
  • 所有for循环,都可以改写成while循环。上面的例子改为while循环,代码如下:
var x = 3;
var i = 0;

while (i < x) {
  console.log(i);
  i++;
}

break continue

  • break: 退出所有循环
  • continue: 退出当前一次循环 例如:
    break:
var i = 0;

while(i < 100) {
  console.log('i 当前为:' + i);
  i++;
  if (i === 10) break;
}

上面代码只会执行10次循环,一旦i等于10,就会跳出循环。
continue:

var i = 0;

while (i < 100){
  i++;
  if (i % 2 === 0) continue;
  console.log('i 当前为:' + i);
}

上面代码只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。

label

JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下:

label:
  语句

标签也可以用于跳出代码块:

foo: {
  console.log(1);
  break foo;
  console.log('本行不会输出');
}
console.log(2);
// 1
// 2

下面是什么东西

{
foo :1
}

foo是一个label,语句是1