JavaScript 的基本语法

变量:

如果使用var重新声明一个已经存在的变量,是无效的。

var x = 1;
var x;
x // 1

上面代码中,变量x声明了两次,第二次声明是无效的。

但是,如果第二次声明的时候还进行了赋值,则会覆盖掉前面的值。

var x = 1;var x = 2;
// 等同于
var x = 1;var x;
x = 2;

标识符:

JavaScript 语言的标识符对大小写敏感,所以a和A是两个不同的标识符。

中文是合法的标识符,可以用作变量名。

注释方式:

// 单行注释

/* 多行注释 */

<!-- 兼容HTML 注释 -->

-->只有在行首,才会被当成单行注释,否则会当作正常的运算

If 赋值:

var x = 1;var y = 2;if (x = y) {
  console.log(x);
}// "2"

结果变成了将y赋值给变量x,再判断变量x的值(等于2)的布尔值(结果为true)。

有些开发者习惯将常量写在运算符的左边,这样的话,一旦不小心将相等运算符写成赋值运算符,就会报错,因为常量不能被赋值。

if (x = 2) { // 不报错if (2 = x) { // 报错

优先采用“严格相等运算符”(===)。

Switch

case代码块之中没有break语句,导致不会跳出switch结构,而会一直执行下去。

var x = 1;
switch (x) {
  case 1:
    console.log('x 等于1');
  case 2:
    console.log('x 等于2');
  default:
    console.log('x 等于其他值');
}//  输出x等于1// x等于2// x等于其他值

需要注意的是,switch语句后面的表达式,与case语句后面的表示式比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换。

var x = 1;
switch (x) {
  case true:
    console.log('x 发生类型转换');
    break;
  default:
    console.log('x 没有发生类型转换');
}// x 没有发生类型转换

for循环:

for ( ; ; ){
  console.log('Hello World');
}

省略了for语句表达式的三个部分,结果就导致了一个无限循环。

do...while循环:

do...while循环与while循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件。

continue循环:

continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。

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

上面代码只有在i为奇数时,才会输出i的值。

label标签:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值