JS的基本语法(一)
回复数(1) 浏览数(28)
王睿泽 11月16日 09:54 最后回复来自: 洛漓(凯敏老师) 学习
{{topic.upvote_count || 0}} 编辑 回复

今天,我学习了JS的一些基本语法,接下来的内容,是我对所学内容的一个整理。

表达式与语句

区别

  1. 两者的定义区别:
  • 一个表达式会产生一个值,它可以放在任何需要一个值的地方;

  • 语句则是由分号分隔的句子或命令。

如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”。

  1. 两者的功能区别:
  • 表达式经常用作作为一个函数调用的参数,它可以放在任何需要一个值的地方;

  • 语句则是一个行为,循环语句和if语句就是典型的语句,一个程序是由一系列语句组成的。

  1. 是否支持嵌套方式的区别:
  • 在javascript中所有表达式都有返回值,表达式均可以嵌套在别的表达式中;
  • 语句只能独立出现。

表达式与语句.png
表达式与语句.png

扩展知识

表达式和语句之间,存在一种叫做表达式语句的。序基本上是一系列语句的结合(基础声明除外)。无论何时,当JavaScript需要编写一条语句时,均可以写入一个表达式。这样的语句称为表达式语句(expression statement)。但是反之并不成立,不能编写一条语句来代替表达式。
例如:

var x;
if (y >= 0) {
x = y;
} else {
x = -y;
}

与表达式类似的是条件运算符。上述语句可用以下语句代替:

    var x = (y >= 0 ? y : -y);

参考资料来源:百度百科-javascript

标识符

规则

  • 标识符的第一个字符,可以是Unicode字母,或者是$,或者是_,也可以是汉字。

例如:

var _ = 1;

var 你好 = 'hello'

var $ = 88

  • 除了第一个字符之后的所有字符,除了上面所说的以外,还可以有数字。

例如:

var _9$ = 1;

var 你好2019 = 'hello'

var $你好2020_ = 88

注意

在使用标识符时,建议使用通俗易懂的英文,这样可以保证代码的可读性,对于一些特殊含义的标识符,建议使用注释进行解释。

注释

类型

// 只能注释单行内容

/* */ 可以注释多行内容

不好的注释

  • 把代码翻译成中文的注释
  • 过时的注释
  • 发泄不满的注释

好的注释

  • 踩坑注释,通过注释进行经验分享,方便其他同事学习以及后期维护

  • 当有一些奇怪的需求,不得不需要写一些奇怪的代码时,可以通过注释进行解释

判断语句

if...else...语句

  • 语法
if(表达式){
    语句1
    }else{
    语句2
    }

对表达式进行判断,当表达式为真时,执行语句1;当表达式为假时,执行语句2。

举例:

  • 情况1
var a = 2
if(a = 1){
    console.log('a是1')
}else{
    console.log('a是2')
}

此时,结果为:控制台打出a是1.

原因:一个等于号代表赋值的意思,三个等于号才代表相等的意思。

  • 情况2
var a = 1
if(a === 2)
    console.log('a')
    console.log('a等于2')

此时,结果为:控制台打出a等于2.

原因:花括号被省略之后,if就只会作用到与它最近的一句语句上。

  • 推荐写法
if(表达式){
    语句
}else if(表达式){
    语句
}else{
    语句
}

switch语句

  • 语法
switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        代码块
} 

代码解释:

  • 计算一次 switch 表达式

  • 把表达式的值与每个 case 的值进行对比

  • 如果存在匹配,则执行关联代码

break一定不能省略

问号冒号表达式

  • 语法
表达式一 ? 表达式2 :表达式3

通常是用来替代if和else后只有一个语句的情况。

举例:

function max(a,b){
    a > b ? a : b;
}

&&短路逻辑

  • 语法

A && B && C && D

  • 取第一个假值(符号左侧为真时,才会去判断右侧)

  • 如果A、B、C都为真值,那么取D的值

||短路逻辑

  • 语法

A || B || C || D

  • 取第一个真值(符号左侧为假时,才会去判断右侧)

  • 如果A、B、C都为假值,那么取D的值

循环

while循环

  • 语法

while(表达式){语句}

  • 首先判断表达式的真假;

  • 当表达式为真时,执行语句;执行完语句后,再次对表达式进行判断;

  • 当表达式为假时,则跳出循环,执行后面的语句。

举例:

var a = 0.1
while (a !== 1){
    console.log(a)
    a = a+ 0.1
}

上述代码是一个死循环

原因:浮点数相加会出现不精确的现象,导致a永远无法等于1,所以表达式永远是成立的,则循环会一直执行。

for循环

  • 语法
for(语句1;表达式2;语句3){

        循环体

    } 
  • 先执行语句1,进行变量初始化;

  • 然后判断表达式2;

  • 如果表达式2为真,则执行循环体,循环体执行结束之后,会执行语句3,语句3执行后会再次对表达式2进行判断;

  • 如果表达式2为假,则跳出循环,执行后面的语句。

举例:

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

上述代码的结果为:在控制台打出5个5.

break

break表示退出距离自己最近的一个循环。

举例:

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

上述代码的结果为:控制台打出1、2、3三个数字。

原因:由于在循环执行过程中,当i等于3时,执行了break语句,表示要退出循环,去执行后续语句,此时i的值为3.

continue

continue表示退出当前一次循环。

举例:

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

上述代码的结果为,控制台会打出:0、2、4、6、8五个数字。

label语句

一般不会使用,面试中会遇到。

举例:

{
    foo : 1;
}

面试中会被问:上述是什么东西?

我们的回答就是:这就是一个label,它的内容是1.

总结

上述内容就是JS的基本语法,其中问号冒号表达式、&&短路逻辑、||短路逻辑和for循环是我们在日常工作中经常回用到的,对于这些基本的语法,我们要做到的就是在理解它们的基础上熟练使用。好了,让我们继续深入学习吧!

版权声明

本内容版权归属本人及杭州饥人谷教育科技有限公司(简称:饥人谷)所有。
任何媒体、网站或个人未经授权不得转载、链接和转贴,或以其他方式复制、发布和发表。
对于违反者,将依法追究责任。

{{topic.upvote_count || 0}}

今天,我学习了JS的一些基本语法,接下来的内容,是我对所学内容的一个整理。

表达式与语句

区别

  1. 两者的定义区别:
  • 一个表达式会产生一个值,它可以放在任何需要一个值的地方;

  • 语句则是由分号分隔的句子或命令。

如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”。

  1. 两者的功能区别:
  • 表达式经常用作作为一个函数调用的参数,它可以放在任何需要一个值的地方;

  • 语句则是一个行为,循环语句和if语句就是典型的语句,一个程序是由一系列语句组成的。

  1. 是否支持嵌套方式的区别:
  • 在javascript中所有表达式都有返回值,表达式均可以嵌套在别的表达式中;
  • 语句只能独立出现。

表达式与语句.png
表达式与语句.png

扩展知识

表达式和语句之间,存在一种叫做表达式语句的。序基本上是一系列语句的结合(基础声明除外)。无论何时,当JavaScript需要编写一条语句时,均可以写入一个表达式。这样的语句称为表达式语句(expression statement)。但是反之并不成立,不能编写一条语句来代替表达式。
例如:

var x;
if (y >= 0) {
x = y;
} else {
x = -y;
}

与表达式类似的是条件运算符。上述语句可用以下语句代替:

    var x = (y >= 0 ? y : -y);

参考资料来源:百度百科-javascript

标识符

规则

  • 标识符的第一个字符,可以是Unicode字母,或者是$,或者是_,也可以是汉字。

例如:

var _ = 1;

var 你好 = 'hello'

var $ = 88

  • 除了第一个字符之后的所有字符,除了上面所说的以外,还可以有数字。

例如:

var _9$ = 1;

var 你好2019 = 'hello'

var $你好2020_ = 88

注意

在使用标识符时,建议使用通俗易懂的英文,这样可以保证代码的可读性,对于一些特殊含义的标识符,建议使用注释进行解释。

注释

类型

// 只能注释单行内容

/* */ 可以注释多行内容

不好的注释

  • 把代码翻译成中文的注释
  • 过时的注释
  • 发泄不满的注释

好的注释

  • 踩坑注释,通过注释进行经验分享,方便其他同事学习以及后期维护

  • 当有一些奇怪的需求,不得不需要写一些奇怪的代码时,可以通过注释进行解释

判断语句

if...else...语句

  • 语法
if(表达式){
    语句1
    }else{
    语句2
    }

对表达式进行判断,当表达式为真时,执行语句1;当表达式为假时,执行语句2。

举例:

  • 情况1
var a = 2
if(a = 1){
    console.log('a是1')
}else{
    console.log('a是2')
}

此时,结果为:控制台打出a是1.

原因:一个等于号代表赋值的意思,三个等于号才代表相等的意思。

  • 情况2
var a = 1
if(a === 2)
    console.log('a')
    console.log('a等于2')

此时,结果为:控制台打出a等于2.

原因:花括号被省略之后,if就只会作用到与它最近的一句语句上。

  • 推荐写法
if(表达式){
    语句
}else if(表达式){
    语句
}else{
    语句
}

switch语句

  • 语法
switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        代码块
} 

代码解释:

  • 计算一次 switch 表达式

  • 把表达式的值与每个 case 的值进行对比

  • 如果存在匹配,则执行关联代码

break一定不能省略

问号冒号表达式

  • 语法
表达式一 ? 表达式2 :表达式3

通常是用来替代if和else后只有一个语句的情况。

举例:

function max(a,b){
    a > b ? a : b;
}

&&短路逻辑

  • 语法

A && B && C && D

  • 取第一个假值(符号左侧为真时,才会去判断右侧)

  • 如果A、B、C都为真值,那么取D的值

||短路逻辑

  • 语法

A || B || C || D

  • 取第一个真值(符号左侧为假时,才会去判断右侧)

  • 如果A、B、C都为假值,那么取D的值

循环

while循环

  • 语法

while(表达式){语句}

  • 首先判断表达式的真假;

  • 当表达式为真时,执行语句;执行完语句后,再次对表达式进行判断;

  • 当表达式为假时,则跳出循环,执行后面的语句。

举例:

var a = 0.1
while (a !== 1){
    console.log(a)
    a = a+ 0.1
}

上述代码是一个死循环

原因:浮点数相加会出现不精确的现象,导致a永远无法等于1,所以表达式永远是成立的,则循环会一直执行。

for循环

  • 语法
for(语句1;表达式2;语句3){

        循环体

    } 
  • 先执行语句1,进行变量初始化;

  • 然后判断表达式2;

  • 如果表达式2为真,则执行循环体,循环体执行结束之后,会执行语句3,语句3执行后会再次对表达式2进行判断;

  • 如果表达式2为假,则跳出循环,执行后面的语句。

举例:

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

上述代码的结果为:在控制台打出5个5.

break

break表示退出距离自己最近的一个循环。

举例:

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

上述代码的结果为:控制台打出1、2、3三个数字。

原因:由于在循环执行过程中,当i等于3时,执行了break语句,表示要退出循环,去执行后续语句,此时i的值为3.

continue

continue表示退出当前一次循环。

举例:

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

上述代码的结果为,控制台会打出:0、2、4、6、8五个数字。

label语句

一般不会使用,面试中会遇到。

举例:

{
    foo : 1;
}

面试中会被问:上述是什么东西?

我们的回答就是:这就是一个label,它的内容是1.

总结

上述内容就是JS的基本语法,其中问号冒号表达式、&&短路逻辑、||短路逻辑和for循环是我们在日常工作中经常回用到的,对于这些基本的语法,我们要做到的就是在理解它们的基础上熟练使用。好了,让我们继续深入学习吧!

版权声明

本内容版权归属本人及杭州饥人谷教育科技有限公司(简称:饥人谷)所有。
任何媒体、网站或个人未经授权不得转载、链接和转贴,或以其他方式复制、发布和发表。
对于违反者,将依法追究责任。

28
回复 编辑