您的位置:时时app平台注册网站 > web前端 > 你不知道的 js 保留字彩世界网址

你不知道的 js 保留字彩世界网址

2019-11-01 17:28

二、基础保留字:

    全部的根基保留字:

    break ; delete ; function ; return ; typeof ; case ; do ; if ; switch ; var ; catch ; else ; in ; this ; void ; continue ; false ; true ; instanceof ; throw ; while ; debugger;

    finally ; new ; with ; default ; for ; null ; try ;

 

  1. 大家先来讲说循环类的 for / switch / case / default / while / do / continue / break ;

    —— 三大基础循环相信大家都以有了然的,这里就只做轻便的叙说,缺乏幼功的校友能够先去 W3school 看看;

  

  -- 首先简述一下switch / case / default 这四个

   

彩世界网址 1彩世界网址 2

 1 var n;
 2     switch (n) {
 3         case 2: // ==> if ( n === 2 )
 4             console.log(1)
 5         break;
 6         case '2':
 7             console.log(2)
 8         break;
 9         default:
10         console.log('n与上面case的值都不相等时执行 default 内的代码块')
11     }

switch 基础

  简单来说,你尽管把 switch (n) 内的值 n 和 case m 后的值 m 当成是 if () 内实践 n===m 就便于掌握了,所以:

var n = '2';
    switch (n) {
        case 2:
            console.log(1)
        break;
        case '2':
            console.log(2)
        break;
        default:  // 传说中的替补队员,存在break的情况下,只有前面都不为真时会触发。
        console.log('n与上面case的值都不相等时执行 default 内的代码块')
    }
// 上面的代码输出的会是->  2 ;

  值得一提示一下新娘的是,倘使不加多 break 语句的话,switch 会继续实施至一切循环截止。例如:

var n = '2';
    switch (n) {
        case 2: // ==> if ( n === 2 )
            console.log(1)
        case '2':
            console.log(2)
        default:
        console.log('我被执行了')
    }
// 输出->  2
// 以及输出-> 我被执行了

 

   -- 来,大家加快步伐,看看 for / for in 语句:

 

// 平常我们写 for 循环 
    for (var i=0; i<5; i  ) {
        console.log(i)
    }
// 依次输出 0 1 2 3 4

// 也可以写成这样
    var i=0,len=5;
    for (; i<len ;) {
        console.log(i)
        i  
    }
// 输出结果是一样的 0 1 2 3 4

// for in 循环
    var data={a=1},x;
    for (x in data) {
        console.log( x )  // a 属性名
        console.log( data[x] )   // 1 属性值
    }

 

  --  while / do while 语句:

// while - 当指定的条件为 true 时循环指定的代码块

    var i = 0;
    while (i<3) {   // 如果条件为真,那就继续执行
        console.log(i);
        i  ;
    }
// 输出 0 1 2
// 值得注意的是,如果你忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致浏览器崩溃

// do/while 循环
    var i = 3;
    do {
        console.log(i);
        i  ;
    }
    while (i<3);
// 输出 3 
// 无论条件是否为真,都先执行一边do内的代码块

 

  -- 接下去比较有趣,我们说说跳出循环的三种保留字(break / continue)和哪些给循环命名。

// 跳出循环
// break 语句用于跳出循环。  // 跳出整个循环.
// continue 用于跳过循环中的一个迭代。 // 跳出当前次循环,进入下一个循环。
例如:--break
    for (var i=0; i<5; i  ) {
        if(i == 1){
            break;
        }
        console.log(i)
    }
//   输出 0

--continue
    for (var i=0; i<5; i  ) {
        if(i == 1){
            continue;
        }
        console.log(i)
    }
// 输出 0 2 3 4 

  况兼大家得以给循环命名,让 continue 大概 break 跳出钦赐循环,举例:

var text = "";
var i, j;  // => var i; var j
Loop1: // 第一个循环标签 "Loop1"
for (i = 0; i < 3; i  ) {
text  = "i = "   i   ", j = ";

    Loop2: // 第二个循环标签 "Loop2"
    for (j = 10; j < 15; j  ) {
        if (j == 12) {
            break Loop1;
        }
        console.log( text  = j   " " );
    }
}

// 第一次输出   i = 0, j = 10 
// 第二次输出   i = 0, j = 10 11     

  这里我们给第贰个循环定义了三个名字,叫 Loop1 ,注意,这里给循环定义的名字和 var 定义变量丝毫不冲突,比如:

var Loop1 = 999;
Loop1 : for (var i = 0; i < 3; i  ) {
    console.log(Loop1)
}

// 定义了Loop1,输出的会是三次999;

但是如果不定义变量Loop1,将会抛出错误,只要break和continue可以使用

Loop1 : for (var i = 0; i < 3; i  ) {
    console.log(Loop1)
}

// Loop1 is not defined

  !!!注意的是,continue只可以用来循环,可是大家的break可不独有那么些,还是能够跳出代码块,举个例子:(给某一块代码命名)

cars=["BMW","Volvo","Saab","Ford"];

list: {
    console.log( cars[0] );    // BMW
    console.log( cars[1] );    // Volvo
    console.log( cars[2] );    // Saab
    break list; // 跳出list标签-代码块
    console.log( cars[3] );
    console.log( cars[4] );
    console.log( cars[5] );
}
console.log(list)    // list is not defined
console.log(typeof list) // undefiled

  用法是大家得以应用名字xxx:{}去定义一整个代码块,当法规适龄的时候跳出,注意,list 不是变量,你在内外定义八个同名变量并不会将之覆盖,现在的写法只是概念了

花括号内的这一块代码块的名字而已。

 

  睡觉觉~~~下风流倜傥节说一说 in 操作符,预先报告:

  in 语句分单独选用和for-in循环中使用,在单独使用时, in 操作符会在经过对象能够访问给定属性时重返 true ,无论该属性存在于实例中依旧原型中。

  

var mycar = {make: "Honda", model: "Accord", year: 1998};
console.log("make" in mycar)  // 返回true
console.log("model" in mycar) // 返回true
console.log("Honda" in mycar) // 返回false 不是属性名

 

 

While

While语句包含叁个循环条件和大器晚成段代码块,只要条件为真,就不停循环施行代码块。

while (expression)
  statement;

// 或者

while (expression) statement;

//while语句的循环条件是一个表达式(express),必须放在圆括号中。
//代码块部分,如果只有一条语句(statement),可以省略大括号,否则就必须加上大括号。

while (expression) {
  statement;
}

var i = 0;

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

上面的代码将循环九十五回,直到i等于100终了。

5.循环语句

循环语句用于重复实践有些操作,它有种种格局。

意气风发、保留字的分类:

  先是笼统的说一下有哪些保留字,保留字的话依照犀牛书的分割,可有分为以下几类:

  ① :基础保留字: 那类保留字是最常用也是最常用到的,如:for、belete、void 等。

  ② :严谨形式下的保留字:那类保留字会在您利用严酷格局下列为保留字,如:let 、protected 等。

  ③ :严加情势下的不完全保留字: 如:arguments、eval ;

  ④ :ECMAScript3的保留字:借使您愿意您的代码运维在基于ECMAScript 3 的深入解析器上,那么你应当领悟一下。

  ⑤ :ECMAScipt 5 的保留字:class、const 等

  ⑥ :全局变量和函数: 那类放在保留字,首假诺为了制止污染,应该制止以她们的名字定义变量名和函数名,如: Function、encodeU科雷傲L 等。

 

循环语句

4.2 if…else结构

if (m === 3) {
  // then
} else {
  // else
}

地点代码判别变量m是不是等于3,若是等于就进行if代码块,不然施行else代码块。

0.0  如有何错误疏失或许失实,请各位大神指引以即时修改。。

除却尊重( 震精 (○´・д・)ノ )的汇报保留字,还有只怕会说一些侧边知识。

for循环

for语句是循环命令的另大器晚成种格局,能够内定循环的源点、终点和终止条件。它的格式如下。

for (initialize; test; increment)
  statement

// 或者

for (initialize; test; increment) {
  statement
}

for语句前边的括号里面,有四个表明式。
开首化表明式(initialize):明确循环的开端值,只在循环开头时进行一次。
测量检验表明式(test):检查循环条件,只要为真就开展一而再三番两遍操作。
依次增加表达式(increment):完结后续操作,然后回到上一步,再叁次检查循环条件。

下边是二个事例。

var x = 3;
for (var i = 0; i < x; i  ) {
  console.log(i);
}
// 0
// 1
// 2

地点代码中,开端化表达式是var i = 0,即开始化七个变量i;测量试验表明式是i < x,即只要i小于x,就能够实践循环;依次增加表明式是i ,即每一趟循环截止后,i增大1。

for语句的多个部分(initialize,test,increment),能够省略任何二个,也能够整个回顾。

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

地点代码省略了for语句表明式的八个部分,结果就招致了一个Infiniti循环。

4. 3长富运算符 ?:

JavaScript还会有三个安慕希运算符(即该运算符供给四个运算子)?:,也能够用于逻辑判定。

(condition) ? expr1 : expr2

地点代码中,假若condition为true,则再次来到expr1的值,不然重临expr2的值。

新岁初中一年级运算符 ?:

JavaScript还也可能有一个安慕希运算符(即该运算符要求四个运算子)?:,也足以用来逻辑判定。

(condition) ? expr1 : expr2

上边代码中,若是condition为true,则再次回到expr1的值,不然再次回到expr2的值。

var even = (n % 2 === 0) ? true : false;

//上面代码中,如果n可以被2整除,则even等于true,否则等于false。
//它等同于下面的形式。
var even;
if (n % 2 === 0) {
  even = true;
} else {
  even = false;
}

var msg = 'The number '
    n
    ' is '
    ((n % 2 === 0) ? 'even' : 'odd');

上边代码应用三元运算符,在字符串之中插入分化的值。

4.标准语句

规范化语句提供生龙活虎种语法构造,独有满意某些条件,才会举办相应的讲话。JavaScript提供if结议和switch结构,完毕标准化剖断。

变量进步

JavaScript引擎的劳作章程是,先剖判代码,获取具有被声称的变量,然后再黄金年代行业作风流倜傥行地运作。那导致的结果,正是具备的变量的扬言语句,都会被进级到代码的头顶,那就叫做变量升高(hoisting)。

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

地点代码首先利用console.log方法,在调控台(console)展现变量a的值。那个时候变量a还从未表明和赋值,所以那是生龙活虎种错误的做法,不过实际不会报错。因为存在变量提高,真正运转的是下边包车型地铁代码。

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

最终的结果是展现undefined,表示变量a已扬言,但还没有赋值。

请留神,变量升高只对var命令表明的变量有效,假使贰个变量不是用var命令注解的,就不会发生变量进步。

3.标识符

标记符命名准则如下:

第一个字符,能够是率性Unicode字母(蕴含立陶宛共和国(Republic of Lithuania)语字母和其他语言的假名),甚至英镑符号($)和下划线(_)。
其次个字符及末端的字符,除了Unicode字母、港币符号和下划线,还是能够用数字0-9。

ps:粤语是法定的标志符,可以视作变量名。

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。

不建议视作标志符的:Infinity、NaN、undefined

do…while循环

do
  statement
while (expression);

// 或者

do {
  statement
} while (expression);

任由条件是不是为真,do..while循环起码运维一遍,那是这种结构最大的特点。
其余,while语句后边的分店无法大概。

4.1 if 结构

if (expression表达式){
  statement语句;
}

小心,if后边的表明式,不要混淆“赋值表明式”(=)与“严刻相等运算符”(===)或“相等运算符”(==)。因为,“赋值表明式”不有所相比效果与利益。

break语句和continue语句

break语句和continue语句都持有跳转作用,能够让代码不按既有的顺序实践。
break语句用于跳出代码块或循环。

var i = 0;

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

上面代码只会进行拾二遍巡回,风度翩翩旦i等于10,就能够跳出循环。

for循环也得以运用break语句跳出循环。

for (var i = 0; i < 5; i  ) {
  console.log(i);
  if (i === 3)
    break;
}
// 0
// 1
// 2
// 3

位置代码执行到i等于3,就能够跳出循环。

continue语句用于立时终止本轮循环,重临循环结构的底部,初始下大器晚成轮循环。

var i = 0;

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

地点代码唯有在i为奇数时,才会输出i的值。要是i为偶数,则直接踏入下后生可畏轮循环。
即使存在多种循环,不带参数的break语句和continue语句都只针对最内层循环。

5.4 break语句和continue语句

break语句 用于跳出代码块或循环。
continue语句 用于那时候甘休本轮循环,重回循环结构的头顶,从前下生龙活虎轮循环。

规范化语句

基准语句提供意气风发种语法构造,只有满意有些条件,才会施行相应的言语。JavaScript提供if结商谈switch结构,实现规范判别。
if结构先推断二个表明式的布尔值,然后根据布尔值的真伪,实行异常的小器晚成的口舌。

//只有一句时
if (expression)
  statement;

// 或者
if (expression) statement;

//多句时
if (expression) {
statement;
statement;
}

地点是if结构的主导格局。须求小心的是,expression(表明式)必得放在圆括号中,表示对表达式求值。假若结果为true,就实行紧跟在前边的言语(statement);假设结果为false,则跳过statement的有的。

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

为了幸免写成"=",有个别开辟者习于旧贯将常量写在运算符的左边,那样的话,意气风发旦超级大心将相当于运算符写成赋值运算符,就能报错,因为常量无法被赋值。

5.1 while循环

While语句包蕴叁个巡回条件和生机勃勃段代码块,只要条件为真,就不断循环实践代码块。

while (expression表达式){
  statement语句;
}

switch

多个if...else连在一起使用的时候,可以转为使用更方便的switch结构。

switch (fruit) {
  case "banana":
    //执行语句
    break;
  case "apple":
   //执行语句
    break;
  default: //除了以上case的其他情况
   //执行语句
}

上边代码依照变量fruit的值,选取施行相应的case。如若具有case都不相符,则举行最后的default部分。内需注意的是,每一种case代码块内部的break语句不可能少,不然会接下去实施下二个case代码块,实际不是跳出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等于其他值

地方代码中,case代码块之中未有break语句,导致不会跳出switch结构,而会一向实行下去。

switch语句部分和case语句部分,都足以采取表明式。

急需小心的是,switch语句后边的表明式与case语句前边的代表式,在可比运维结果时,采纳的是严谨相等运算符(===),实际不是特别运算符(==),那意味比较时不会发生类型调换。

来自《JavaScript 标准参照教程(阿尔法)》,by 阮一峰

if...else...

if代码块前面,还足以跟多少个else代码块,表示不满意条件时,所要执行的代码。

if (m === 3) {
  // then
} else {
  // else
}
//多个时
if (m === 0) {
  // ...
} else if (m === 1) {
  // ...
} else if (m === 2) {
  // ...
} else {
  // ...
}

2.变量

变量是对“值”的援用,使用变量等同于援用一个值。每三个变量都有三个变量名。
var a; a = 1;为变量的评释和赋值
var a; a // undefined若是只是声称变量而从未赋值,则该变量的值是undefined,表示“无定义”。
var a = 1;a = 1;可是,不写var的做法,不便利发挥意图,何况便于无声无息地开创全局变量,所以建议总是利用var命令表明变量。ps:var a = 1 与 a = 1的出入主要反映在delete命令不可能删除前面一个。
x // ReferenceError: x is not defined如果三个变量未有申明就径直行使,JavaScript会报错,告诉您变量未定义。
var x = 1; var x; x // 1要是变量x评释了两遍,那么第二遍注明是无用的。
var x = 1; var x = 2; = var x = 1; var x; x = 2;唯独,倘诺第三次申明的同一时间还赋值了,则会覆盖掉后面包车型客车值。

<b>变量进步:</b>var的授命表明,不论在哪,都会提高到代码的头顶首先运行

抄自 http://javascript.ruanyifeng.com/grammar/basic.html

5.2 for循环

for语句是循环命令的另大器晚成种样式,能够钦定循环的起源、终点和安歇条件。它的格式如下。

for (initialize; test; increment) {
  statement
}

for语句后边的括号里面,有多个表达式。

  • 起首化表明式(initialize):分明循环的发端值,只在循环起来时奉行三回。
  • 测量试验表明式(test):检查循环条件,只要为真就展开三番四遍操作。
  • 依次增加表明式(increment):完毕后续操作,然后重临上一步,再二次检查循环条件。

例子:

var x = 3;
for (var i = 0; i < x; i  ) {
  console.log(i);
}
// 0
// 1
// 2

上面代码中,带头化表明式是var i = 0,即领头化叁个变量i;测量试验表达式是i < x,即只要i小于x,就能施行循环;依次增加表明式是i ,即每便循环停止后,i增大1。

相当于while的:

var x = 3;
var i = 0;

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

标签(label)

JavaScript语言允许,语句的先头有标签(label),也就是定位符,用于跳转到程序的大几人置,标签的格式如下。

label:
  statement

标签可以是不管三七八十生龙活虎的标志符,然则不能是保留字,语句部分可以是即兴语句。

标签常常与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

上边代码为一个双重循环区块,break命令前边加上了top标签(注意,top不用加引号),满意条件时,直接跳出双层循环。假若break语句前面不选拔标签,则只好跳出内层循环,步向下一遍的外层循环。
continue语句也足以与标签合作使用。

top:
  for (var i = 0; i < 3; i  ){
    for (var j = 0; j < 3; j  ){
      if (i === 1 && j === 1) continue top;
      console.log('i='   i   ', j='   j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2

上边代码中,continue命令后边有三个标具名,知足条件时,会跳过当前巡回,直接步向下意气风发轮外层循环。假使continue语句前边不接受标签,则不能不进入下生机勃勃轮的内层循环。

5.3 do…while循环

do...while循环与while循环相通,唯风华正茂的分别正是先运营一次循环体,然后判定循环条件。

do {
  statement
} while (expression);

标识符

大旨准绳
大大小小写敏感。
先是个字符,能够是大肆Unicode字母(富含韩语字母和别的语言的字母),以至英镑符号($)和下划线(_)。
第三个字符及背后的字符,除了Unicode字母、欧元符号和下划线,还足以用数字0-9
上面这个都以官方的标记符。

arg0
_tmp
$elem
π

//下面这些则是不合法的标识符。
1a  // 第一个字符不能是数字
23  // 同上
***  // 标识符不能包含星号
a b  // 标识符不能包含加号
-d  // 标识符不能包含减号或连词线

//中文是合法的标识符,可以用作变量名。
var 临时变量 = 1;

保留字
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。
另外,还会有多个词即使不是保留字,不过因为全部特别意义,也不应有作为标识符:Infinity、NaN、undefined。

4.3 switch结构

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

上边代码根据变量fruit的值,选拔试行相应的case。如若具备case都不合乎,则实践最后的default部分。<b>必要注意的是</b>,每一种case代码块内部的break语句不可能少,不然会接下去实施下贰个case代码块,并非跳出switch结构。

注释

注释
源码中被JavaScript引擎忽视的片段就叫做注释,它的作用是对代码进行分解。Javascript提供两种注释:后生可畏种是单行注释,用//带头;另风流洒脱种是多行注释,放在/* 和 */之间。

//一行注释

/*多
行
注
释
*/

此外,由于历史上JavaScript包容HTML代码的注释,所以也被视为单行注释。

x = 1; <!-- x = 2;
--> x = 3;

上边代码中,独有x = 1会施行,其余的有个别都被批注掉了。
亟待注意的是,-->只有在行首,才会被当成单行注释,不然就是三个运算符。

1.语句

JavaScript程序的推行单位为行(line),也等于单排豆蔻梢头行地实行。平时意况下,每意气风发行正是五个口舌。

讲话(statement)是为了做到某种职务而进行的操作,举个例子上面正是单排赋值语句:
var a = 1 3;
那条语句先用var命令,证明了变量a,然后将1 3的演算结果赋值给变量a。
1 3叫做表明式(expression),指三个为了得到再次回到值的总括式。语句和表明式的界别在于,前面二个重要为了进行某种操作,日常景色下没有必要再次来到值;前者则是为着博取再次回到值,一定会回去多个值。
只顾:表达式不供给分号结尾。黄金时代旦在表明式后边加多分号,则JavaScript引擎就将表明式视为语句,那样会发生局地平昔不其余意义的口舌。

本文由时时app平台注册网站发布于web前端,转载请注明出处:你不知道的 js 保留字彩世界网址

关键词: