JS 语法浅析

以下内容推荐看阮一峰的JavaScript 的基本语法:点击这里

表达式

表达式一般都是有值的东西。为了得到返回值,一定会返回一个值。

表达式不需要分号结尾。一旦在表达式后面添加分号,则 JavaScript 引擎就将表达式视为语句,这样会产生一些没有任何意义的语句。

1+3

语句

语句是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。

语句以分号结尾,一个分号就表示一个语句结束。

分号前面可以没有任何内容,JavaScript 引擎将其视为空语句。

var a = 1

语句一般改变当前的环境。(这两句话不是绝对的)

JS 是大小写敏感的

大部分空格是没有实际意义的

var a  = 1    //  var a      =    1ja

return 后面不能加回车 回车后会默认在return后面加上 undefined

return undefined 

标识符

命名规则如下:

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

第一个字符,可以是Unicode字母或$或_或中文但是不能是数字开头
后面的字符,除了上面所说,还可以有数字

//非法的
var 8v =  1;

注释

单行 //

多行注释 /* */

// 这是单行注释

/*
 这是
 多行
 注释
*/

if语句

语法

    // 写法一
	if (表达式) {
       //表达式返回 true/false
            语句1
        } else {
     
            语句2
        }
	//写法二
    function fn() {
     
        if (condition1) {
     
            return
        }
        if (condition2) {
     
            return
        }
        return
    }

{}在语句只有一句可以省略

switch语句

语法

    switch (key) {
     
        case value:

            break;
        case value2:

            break;

        default:
            break;
    }

实例:

var a = 1
switch (a) {
     
    case 1:
        blue
        break;
    case 2:
        green
        break;
    default:
        red
        break;
}

三元表达式

表达式1?表达式2:表达式3 //如果 真 返回表达式2    错误 返回表达式3

简化的IF语句

&&短路逻辑

语法

	A && B && C && D
	/*         */
	    var c = 1;
        if (c === 1) {
     
            console.log('存在');
        }
		//等价于
        c === 1 && console.log("存在");

2个都为真的情况下返回 B 只要A是假就返回A,如果A是真而B是假就返回B

||短路逻辑

语法

	a || b || c
	
	if(!a){
     
	    b
	}else{
     }

while循环

语法

while(表达式){
     
        语句
        }

实例:

 		var i = 0;
        while (i < 10) {
     
            console.log(i);
            i++;
        }

//下面是一个死循环 i是个浮点数
	    var i = 0.1;
        while (i !== 1) {
     
            console.log(i);
            i += 0.1
        }

for循环

语法

    for (初始化表达式; 条件; 递增表达式) {
     
          语句
        }	
		// 下面示例
	for (let i = 0; i < 10; i++) {
     
            console.log('执行了' + i);
        }

小贴士:每次循环结束后,i增大1。

下面代码 执行了5遍5

   for (var i = 0; i < 5; i++) {
     
            setTimeout(() => {
     
                console.log(i);
           }

下面代码 就执行了1,2,3,4,5

	for (let i = 0; i < 5; i++) {
     
            setTimeout(() => {
     
                console.log(i);
           }

break 和continue

break 退出当前所有的循环 下面代码输出 1 直接就退出了循环

	for (var i = 0; i < 10; i++) {
     
            if (i % 2 === 1) {
     
                console.log(i);
                break;
            }
        }

continue 退出当前循环执行下个循环 下面代码输出 0 2 4 6 8

	for (var i = 0; i < 10; i++) {
     
            if (i % 2 === 1) {
     
                continue
            } else {
     
                console.log(i);
            }
        }

label

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

标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。

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

标签通常与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);
        }
      }

break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。

下面代码不是一个对象

	//下面是个代码块 a是label 语句是1
		{
     
            a: 1
        }

资料来源:饥人谷 阮一峰

本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

你可能感兴趣的:(JavaScript学习,javascript)