一、JavaScript语法的引入方式。

  1、直接引入(在html的head中直接引入js语法)

     <script> js语法 </script>

  2、导入文件(以导入文件的方式来引入语法)

     <script src="文件路径"></script>

二、JavaScript的变量常量和标识符。

  1、js中变量的声明方式

    1.1声明一个变量:var 变量名=变量值;

    1.2声明多个变量:var 变量名1=变量值1 ,变量名2=变量值2,变量名3=变量值3;

    1.3注意:js是以分号作为一条语句的分隔符,以var作为变量的声明,如果声明了一个变量但是没有给这个变量赋值那么就打印出undefind的错误。

    1.4变量声明时可以不用var,但如果不用var该变量就是全局变量。

    1.5变量怎么命名?

      1.5.1首字符只能是字母,下划线,$美元符 三选一。

      1.5.2余下的字符可以是下划线、美元符号或任何字母或数字字符.

      1.5.3变量命名区分大小写,x与X是两个变量。

  2、js中的常量和标识符

    2.1什么是常量?

      不会变化的量的值,比如说π

    2.2什么是标识符?

      2.2.1由不以数字开头的字母、数字、下划线(_)、美元符号($)组成。

      2.2.2常用于表示函数、变量等的名称,即变量就是标识符但是标识符不一定是变量。

      2.2.3JavaScript语言中代表特定含义的词称为保留字,不允许程序再定义为标识符。

      

三、JavaScript中的数据类型。

  1、数字类型(number)

    1.1 不区分整数类型和浮点数类型,统称为数字类型

    1.2 所有数字都采用64位浮点格式存储

    1.3 16进制数据前面加上0x,八进制前面加0;16进制数是由0-9,A-F等16个字符组成;8进制数由0-7等8个数字组成。

    1.4 NAN值 属于Number类型: 当遇到将字符串转成数字无效时,就会得到一个Nan数据

  2、字符串类型(srting)

    2.1 是由Unicode字符、数字、标点符号组成的序列;字符串常量首尾由单引号或双引号括起;JavaScript中没有字符类型;常用特殊字符在字符串中的表达;
    2.2 字符串中部分特殊字符必须加上右划线\;常用的转义字符 \n:换行 \':单引号 \":双引号 \\:右划线.

  3、布尔类型(boolean)

    3.1 Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0
    3.2 布尔值也可以看作on/off、yes/no、1/0对应true/false
    3.3 Boolean值主要用于JavaScript的控制语句

  4、 Null & Undefined类型

    1、Undefined类型

      1.1 Undefined 类型只有一个值,即 undefined。

      1.2 当声明的变量没有值时,该变量的默认值是 undefined。

      1.3当一个函数无明确返回值或者没有返回值时,返回的也是 "undefined";

    2、Null类型

      21  Null类型只要一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。

      2.2 尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其赋值时赋予该变量的值,null 则用于表示尚未存在的对象。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。

四、JavaScript中的运算符

  1、算术运算符: +   -   *   /   %   ++   --

    1.1注意:

        

    1.2 加减号

      1.2.1 减号除了可以表示减号还可以表示负号 例如:x=-y

      1.2.2加号除了可以表示加法运算还可以用于字符串的连接 例如:"abc"+"def"="abcdef"

  2、 比较运算符: >    >=    <    <=    !=    ==    ===    !==

    2.1注意:

      2.1.1静态类型语言 :一种在编译期间就确定数据类型的语言。Java 和 C 是静态类型语言。

      2.1.2 动态类型语言 :一种在运行期间才去确定数据类型的语言.

      2.1.3 强类型语言 :一种总是强制类型定义的语言。

      2.1.4 弱类型语言: 一种类型可以被忽略的语言。

      2.1.5 由于js是弱类型语言,所以用==来比较数据类型时会出现差错(js内部会进行类型转换),所以用===全等于符号来比较(告诉js内部不做类型转换)。

      2.1.6 总结:

        比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型,如果转换无效那么会得到一个NaN的数据。

        比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.

  3、逻辑运算符: && || !

      3.1 逻辑与(and) 、逻辑或(or)、非(not).

  4、 赋值运算符: =  +=   -=   *=   /=

      4.1、与python相同。

  5、 字符串运算符: + 连接,两边操作数有一个或两个是字符串就做连接运算。

五、JavaScript中的流程控制语句。

  1、顺序执行

    

  2、分支结构

    2.1 if单分支

     2.1.1 格式:if (判断条件){ 条件成立执行的程序1;条件成立执行的程序2;条件成立执行的程序3; }

        else{ 条件不成立执行的程序1; 条件不成立执行的程序2;条件不成立执行的程序3;}

     2.1.2 语法:

      

    2.2 if多分支

      2.2.1格式:if (判断条件) { 条件成立执行的程序; }else if(判断条件) { 条件成立执行的程序; }

           else if (判断条件) { 条件成立执行的程序; } else{ 条件不成立执行的程序;}

      2.2.2语法:

      

    2.3、switch-case结构

      2.3.1格式:switch (判断条件) { case 值1: 条件成立执行的程序;break;

                     case 值2: 条件成立执行的程序;;break;      

                     case 值3: 条件成立执行的程序;break;

                     default: 条件都不成立执行的程序; } 

      2.3.2 语法:

      

  3、循环结构  

    3.1 for循环

      3.1.1for循环中的条件循环(相当于Python中的while)

        格式: for(初始表达式(初始值);条件表达式;自增或自减) { 条件成立执行的程序 }

        语法:

          

      3.1.2 for循环中的遍历循环

        格式:for( 变量名 in 数组或对象) { 执行语句}

        语法:

          

    3.2while循环

      格式:while (判断条件) { 条件成立执行的程序;}

      语法:

        

  4、无论是fou循环还是whlie循环,当条件成立循环执行语句花括号{}内的语句,否则跳出循环;同样支持continue与break语句

  5、异常处理

    5.1 格式:

      try { 运行的代码 }

        catch (e) {抛出异常后运行此代码 ,e是一个局部变量,用来指向Error对象或者其他抛出的对象 }

      finally { 无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。 }

      

最新文章

  1. 【BZOJ3314】 [Usaco2013 Nov]Crowded Cows 单调队列
  2. objective c,copy, mutableCopy区别
  3. SVO实时全局光照优化(里程碑MK2):Sparse Voxel Octree based Global Illumination (SVO GI)
  4. Java生成公私钥对
  5. 转-TabHost组件(二)(实现底部菜单导航)
  6. zkclient
  7. 【Hadoop代码笔记】Hadoop作业提交之Child启动map任务
  8. FlexBuilder远程调试WEB应用
  9. node之fs模块
  10. Bootstrap3 表格-带边框的表格
  11. 前端性能优化 —— 添加Expires头与Cache-control区别
  12. myeclipse使用maven整合ssh配置
  13. 按行切割大文件(linux split 命令简版)
  14. 初识mysql数据库
  15. Webservice和EJB的区别
  16. 020 SpringMVC返回Json
  17. windows下php扩展存在但无法加载的问题
  18. AGC026D Histogram Coloring
  19. 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析
  20. Android-帧布局(FrameLayout)

热门文章

  1. RapidIO协议(1)
  2. TCP/IP的三次握手与四次挥手详解
  3. 61. Search for a Range【medium】
  4. 一键保存网页为PDF_V1.2
  5. iOS: 与 insertRowsAtIndexPaths 在 UITableview 中插入多个行
  6. python简单处理xml文件
  7. hibernate查询之后用el表达式取值时遇到的问题
  8. jxta 2.8x启动了
  9. java 证书 .cer 和 .pfx
  10. MongoDB save()方法和insert()方法的区别