ryf js 教程笔记-基本语法

1.CHROME 的 console中,shift+enter 是代码换行.

2.语句,用;表示结尾,如果是;;;就表示三个空语句.
表达式不能用;结尾,否则会变成语句,1+3;是一个无意义的语句.

3.声明变量不赋值,则变量为undefined.如:var a;

x
// ReferenceError: x is not defined
//上面代码直接使用变量x,系统就报错,告诉你变量x没有声明。

4.变量提升(hoisting):不管变量在什么位置声明,都优先得到浏览器的响应.浏览器解析代码时,会先获取所有被生命的变量再一行行运行.

console.log(a);
var a = 1;
//undefined

运行时实际是下面的情况,即 a的声明先得到响应,但是赋值却依然在下面.

var = a;
console.log(a);
a = 1;

5.标识符
js 标识符大小写敏感
命名时,首字母可用Unicode 字母(汉字也行),$,_等.后面的除了这些还能用数字.

JavaScript 有一些保留字,不能用作标识符:
arguments、break、case、catch、
class、const、continue、debugger、
default、delete、do、else、
enum、eval、export、extends、
false、finally、for、function、
if、implements、import、in、
instanceof、interface、let、new、
null、package、private、protected、
public、return、static、super、
switch、this、throw、true、
try、typeof、var、void、
while、with、yield。

6.下面这套代码只有x = 1 ;有效,x = 3 ;因为行前的-->被视为单行注释,所以也被注释掉了.

x = 1;  x = 3;

不过-->只在行首会被当成单行注释,如果是n --> 0会被当成运算符,即n--大于0.

function countdown(n) {
  while (n --> 0) console.log(n);
}
countdown(3)
// 2
// 1
// 0

上面的代码输出2之后会继续输出,因为n--是一个表达式,当输出一次之后会做一次 n-- 的运算再比较一次.

运算结果

7.写相等运算符的时候,可以把数字放在运算符前面,3 === x;(不报错)这样的,如果不小心写错了,3 = x ;(报错)会报错,这样写如果出错了控制台会报出来.
运算符优先采用严格相等运算符.

  1. switch 表示根据值选择 case, 比方下面的,如果x1则执行1的 case, 执行完毕后break结束这段代码,下面的 case 都不会执行,如果没有break则会继续执行下一个 case.
switch (x) {
  case 1:
    console.log('x 等于1');
    break;
  case 2:
    console.log('x 等于2');
    break;
  default:
    console.log('x 等于其他值');
}

switch的语句的表达式跟case之间的比较是===性质的.
如果存在一个所有 case 以外的结果,则这个结果可以用default表示.用法跟 case 一样,但是末尾不用加上break.

9.三元运算符
(条件) ? 表达式1 : 表达式2条件为 true 则表达式1,条件为 false 则表达式2.

10.while 循环,看下格式

var i = 0;

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

11.for循环

var x = 3;
//for (初始化表达式initialize; 条件test; 递增表达式increment)
for (var i = 0; i < x; i++) {
  console.log(i);
}
// 0
// 1
// 2

语句的三个部分都可以省略,不过会导致无限循环.

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

12.do...while循环,不管条件是够为真,也会至少运行一次,这是这个循环的特点.

var x = 3;
var i = 0;

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

13.break可以使代码在满足条件后 like 跳出循环.

var i = 0;

while(i < 100) {
  console.log('i 当前为:' + i);
  i++;
  if (i === 10) break;
}
for (var i = 0; i < 5; i++) {
  console.log(i);
  if (i === 3)
    break;
}
// 0
// 1
// 2
// 3

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

var i = 0;

while (i < 100){
  i++;
  if (i % 2 === 0) continue;
//当 i 为偶数时,不进行下一步直接跳回开头重新走循环
//只有 i 为奇数时,不会往回跳
  console.log('i 当前为:' + i);
}
//最后输出的结果就是,100以内的所有奇数

15.标签label,break/continue+label的用法.

这里的代码我看不懂,不明白到底是怎么跳的,先往后看,一定记得把这里弄懂.

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

你可能感兴趣的:(ryf js 教程笔记-基本语法)