JS基本语法

75 阅读3分钟

1、表达式和语句

  • 表达式是一组代码的集合,它返回一个值。

表达式 举例:

  • 1+2表达式的值为3
  • add(1,2)表达式的值为函数的返回值
  • console.log表达式的值为函数本身
  • console.log(3)表达式的值为多少?

语句举例:

  • 语句var a = 1是一个语句

表达式与语句二者区别:

  1. 表达式一般都有值,语句可能有也可能没有
  2. 语句一般会改变环境(声明、赋值)
  1. 上面两句话并不是绝对的

2、标识符的规则

  • 规则

    • 第一个字符,可以是Unicode字母或$或_或中文
    • 后面的字符,除了上面所说,还可以有数字
  • 变量名是标识符

    • var_=1
    • var $=2
    • var____=6 *var 你好='hi'

    3、条件语句

    3.1 if语句

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

    else代码块总是与离自己最近的那个if语句配对。

var m = 1;
var n = 2;

if (m !== 1)
if (n === 2) console.log('hello');
else console.log('world');

3.2 swich语句

switch (fruit) {
case "banana":
  // ...
  break;
case "apple":
  // ...
  break;
default:
  // ...
}

大部分时候不能省略swich

3.3

A && B 短路逻辑

使用场景:

fn && fn(),先判断fn属性存不存在,如果不存在则直接返回,如果存在才执行后面fn方法

举例:

console && console.log && console.log('hi')含义是如果浏览器有console属性且有console.log属性,才执行 console.log('hi')语句。

A || B 短路逻辑

A || B含义是如果A不是真才执行后面的语句B等价于if(!A){B}else{}

使用场景:

A = A || B,B作为保底值,如果A不存在则返回B

举例:

var a = a || 100;//如果a存在则就是a,如果不存在则返回100(保底值)

A || B || C || D短路逻辑:取第一个真值或D,结果并不是true或者false

4、循环语句

4.1 while循环

循环语句用于重复执行某个操作,它有多种形式 While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块

while (条件)
  语句;

// 或者
while (条件) 语句;
复制代码

下面是while语句的一个例子。

var i = 0;

while (i < 100) {
  console.log('i 当前为:' + i);
  i = i + 1;
}
复制代码

上面的代码将循环100次,直到i等于100为止。 下面的例子是一个无限循环,因为循环条件总是为真。

while (true) {
  console.log('Hello, world');
}

4.2for循环

for循环

•语法糖

for是while循环的方便写法

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

}

先执行语句1

然后判断表达式2

如果为真,执行循环体,然后执行语句3
如果为假,直接退出循环,执行后面的语句

4.3break和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为偶数,则直接进入下一轮循环。

如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。

4.4 标签(label)

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

  • 语法:
label:
  语句
复制代码
foo:{
    console.log(1);
    break foo;
    console.log('本行不会输出');
}
console.log(2);
复制代码

上面代码执行到break foo,就会跳出区块。

  • 面试
{
foo:1
    }
是一个number,结果为1