Javascript学习中的一些注意点(基本语法)

变量:

1.变量声明和不声明的区别(即var a = 1和 a = 1的区别):

           var a = 1和a = 1都是有效的,但是还是建议加上 var(变量声明),这样有利于表达,而且不加上容易不知不觉中产生全局变量.

           严格地说,var a = 1 与 a = 1,这两条语句的效果不完全一样,主要体现在delete命令无法删除前者。不过,绝大多数情况下,这种差异是可以忽略的。(javascript 标准参考教程).


2.变量重新声明:

           当一个变量之前已经声明并赋值过时,再次声明变量是无效的,但是如果再次声明并且重新赋值,则先前变量的值会被覆盖(就是以最新声明的值为准).


3.变量提升的含义:

           JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting ).

           把上面这句话讲得通俗一点就是,所有变量的声明都会优先被获取,再进行输出.

           请注意,变量提升只对var命令声明的变量有效,如果一个变量不是用var命令声明的,就不会发生变量提升。


标识符:

1.标识符的含义:

          标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。


2.标识符命名:

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

          注意点:

           第一个字符不可以采用数字;

           标识符不能包含星号;

           标识符不能包含减号或连词线;

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

           关键字和保留字不能做标识符.


3.注释:

           单行注释: //

           多行注释:/*   */

           CSS中注释: <!--     -->

           (被注释的部分不会执行)


4.区块:

          JavaScript使用大括号,将多个相关的语句组合在一起,称为“区块”(block)。

          与大多数编程语言不一样,JavaScript的区块不构成单独的作用域(scope)。也就是说,区块中的变量与区块外的变量,属于同一个作用域。

          区块往往用来构成其他更复杂的语法结构,比如for、if、while、function等。

           (区块不构成单独的作用域,意思就是在区块里的声明的变量,在区块外也是有效的)


5.条件语句;

          条件语句提供一种语法构造,只有满足某个条件,才会执行相应的语句。JavaScript提供if结构和switch结构,完成条件判断。

          (1.if结构  2.if...else...结构   3.switch结构)


          if结构:

            if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。

            句式:if (expression)                if(expression) statement;
                         
statement;

            这种写法要求条件表达式后面只能有一个语句。如果想执行多个语句,必须在if的条件判断之后,加上大括号,表示代码块。

             句式: if(expression){

                           statements

                       }

              建议采用这样的形式容易插入语句.

              注意点:"="和"=="的区别 在表达式中 "="只是代表一个赋值并没有比较的含义 "=="是代表值相等 "==="是代表值和类型都相等.


             if...else结构:

               if代码块后面,还可以跟一个else代码块,表示不满足条件时,所要执行的代码。

               句式: if(expression){

                           statements

       }else{

                            statements

                           }

                  注意点:else代码块总是跟随离自己最近的那个if语句。


              switch结构:

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

                   句式: switch (变量名称/表达式) {
                                case "变量名称/表达式":

                                    statements
                                    break;
(break也可用return代替 return表示停止返回)
                                case "变量名称/表达式":

                                    statements
                                    break;
                                default:

                                    statements

                                       }

                      上面代码根据变量" "的值,选择执行相应的case。如果所有case都不符合,则执行最后的default部分。需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。

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


6.三元运算符 (?:)

      句式:(condition) ? expr1 : expr2     condition(条件的意思)

      当条件表示true时候,输出expr1,当条件表示false时候,输出,expr2.


7.循环语句

                 循环语句用于重复执行某个操作,它有多种形式。

            (1.while循环   2.for循环  3.do...while循环 4.break语句和continue语句  5.标签(label) )

            

            7.1 while循环:

                  While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。

                  句式:while (expression) {
                                     statement;
                               }

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


            7.2 for循环:

                 for语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件.

                  句式:for (initialize; test; increment)
                              statement


                              // 或者


                         for (initialize; test; increment) {
                             statement
                            }

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


              初始化表达式(initialize):确定循环的初始值,只在循环开始时执行一次。
              测试表达式(test):检查循环条件,只要为真就进行后续操作。
              递增表达式(increment):完成后续操作,然后返回上一步,再一次检查循环条件。


               7.3 do...while...循环

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

                          句式:do
                                     statement
                                  while (expression);
 

                  

                                  // 或者


                                 do {
                                    statement
                                  } while (expression);

                 注意点:不管条件是否为真,do..while循环至少运行一次,这是这种结构最大的特点。另外,while语句后面的分号不能省略。                                    

  

       7.4 break语句和continue语句  

               break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。


               break语句用于跳出代码块或循环。(只能用在循环结构中)

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

                               注意点:如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。

             

              7.5 标签(label)

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

                       句式:label:
                                    statement

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

                        标签通常与break语句和continue语句配合使用,跳出特定的循环。

                        参考书籍<<JavaScript  标准参考教程>>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习JavaScript算法非常重要,因为它是一种用于解决问题的编程语言。通过学习JavaScript算法,我们可以更加了解数据结构、算法和编程逻辑。 首先,我们需要掌握JavaScript基本语法语法规则。了解如何声明变量、使用条件语句、循环语句和函数等是非常重要的。这些知识将为我们编写算法提供基础。 其次,我们需要了解常见的算法和数据结构。学习排序算法(如冒泡排序、快速排序)、搜索算法(如二叉搜索树、哈希表)以及链表、队列和栈等数据结构。这些算法和数据结构是解决问题的重要工具。 在学习算法时,我们要注重正确性和效率。我们应该注意算法的时间复杂度和空间复杂度,力求编写出高效的算法。此外,我们还可以学习一些优化技巧,如贪心算法和动态规划,以提高算法的效率。 除了学习传统的算法和数据结构之外,我们还可以学习一些JavaScript特定的算法。例如,学习如何使用递归、闭包和高阶函数来解决问题。这些JavaScript特性可以帮助我们编写更加简洁和灵活的算法。 最后,为了加深对算法的理解和应用,我们可以尝试解决一些经典的算法问题。这些问题可以帮助我们锻炼思维能力和编程技巧。解决这些问题将使我们能够更好地应对实际的问题。 总之,学习JavaScript算法是程序员的必备技能之一。通过掌握基本语法、常见算法和数据结构,以及考虑正确性和效率,我们将能够写出高质量的JavaScript代码,并更好地解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值