ECMAScriptJS基础

 

                                                        
JavaScript

                                                          第 一 部

一.定义

           
基于浏览器的言语;

              
基于面向对象;c语言面向过程,java面向对象:继承,封装,多态;

               事件驱动;

               脚本语言;

二.作用:

           表单验证,减轻服务端的下压力;

             添加页面动画作用;

             动态更改页面内容;

             AJax网络要;

三.片段:

                 
ECMAScript;脚本程序语言, 语言标准ES5.1,最新ES6.0;

                    语法,变量和数据类型,

                    DOM; 文档对象模型 ;文档节点

                    BOM浏览器对象模型window:history,doucument,location

四.javaScript基本构造:

                              
<script
type=”text/javascript”>

                                                   javascript语句

                                                  </script>

五.利用JS的老三种植方式:

1.HTML标签中的内嵌JS;(不提倡使用)

2.HTML页面被直接使用JS;

      <script type=”text/javascript”>

                             javascript语句

                              </script>

                        3.援外部JS文件; 

            <script language=”JavaScript” src=””>

    </script>

    【注意事项】

   
1.页面中JS代码与援JS代码,可以停放至HTML的其他岗位,但是位置不同会影响至JS代码的施行顺序;

    例如:<script>在body前面,会当页面加载之前实施JS代码;

    2. 页面被的JS代码,使用type=”text/javascript”;

    3.引用外部JS文件,使用language=”JavaScript”;

    
引用外部JS文件的<script><script>标签,必须成为对出现,且标签中未能够发生其他代码;

        单行注释ctrl+/

      
段落注释ctrl+shift+/

 六.JS中声明变量的写法:

              1.写法:

                     var
width=10;//使用var生命的变量,只以手上函数作用域有效;

                    
width=11;//不行使var直接赋值生成的变量,默认为全局变量,整个JS条件有效;

                     var a,b,c=1;
同时声明多独变量,变量之间因此英文,分割,但是,复制需要单独赋值,例如上式中,只有c=1,ab:undefined;

              2.变量底命名规范:

                                                   
字母数字下划线_和$符号;

                                                   
区分轻重缓急写,大小写字母为不同变量;                                  

              3.变量名要符合驼峰法则 :

                    
变量开头为稍写,,之后每个首字母大写(单词里用生划线分割)

                       例如:jiang_hao_shi_shuai_ge 

                                JiangHaoShiShuaiGe  

              4.JS饱受变量的数据类型:

              undefined:未定义,用var声明的变量,没有开展初始化赋值;

              Null:表示为空的援;

              number;

              Boolean:真假,可以是小数,也堪是整数;

              String:用“”或‘’包裹的始末,成为字符串;

              object:(复杂数据类:函数,数组)  

            5.常用的数值函数:

           ① 
isNaN():用于判断一个变量或常量是否也NaN(非数值)。

 
使用isNaN判断时尝试采取number()函数进行转换,如果会转移为数字,则未是免数值,结果也false;

              “111”纯数字字符串,false

              “” 空字符串,false

              “la”包含其他字符,true

              true/false 布尔类型,false

            ②
number():将另类型转换成数值类

       【字符串类型转数值】

              ①.字符串为纯数值字符串时,会转为对应的数字“111”–>111;

              ②字符串为空字符串时,会转为0,“”–>0;

              ③ 字符串包含其他非数字字符时,不克转换,“111a”–>NaN;

       【布尔档次转数值】

              true->1;fulse->0;

       【Null/undefined专数值】

              Null->0,undefined->NaN;

         [object类型转数值]

            (以后当摸底) 
先调用valueof函数,确定函数是否出归值,再根据上述各种情形判断;

        
parseInt:将字符串转换成数值;

           ①.空字符串不能够更改,结果吗NaN;””->NaN;

           ②.纯数字能转,小数点后面除掉;123->123;123.45->123;

           ③.带有其他字符,会截取第一独非数值字符前的数值部分。

               “123a456″->123;”a123a234”->NaN;

           ④.parseInt只能转string类型:Boolean/null/undefined均为NaN;

         parseFloat:将字符串转换成为数值;

           
使用办法同parseInt,但是当倒车小数时保留小数点;转化整数时保留整数;

            123.5->123.5;  123->123;

         typeof检测变量的数据类型

                             未定义->undefined

                             字符串->string;

                              true/false->boolean;

                             数值->number;

                             对象/null->object;

                             函数->function; 

 【声明变量注意事项】:

                 
1.JS遭到享有变量类型声明,均以var关键字,变量的实际数据类型,取决于被变量赋值的履;

                  2.同变量可以在不同赋值时,修改变量的数据类型

                      var width=10; 变量为整形;

                      width=”哈哈”; 变量被改呢字符串;

                 
3变量可以利用var声明,也得略;【区别】是否也全局变量;

                 
4.均等变量名好屡屡之所以var声明,但是连任外意义,也不会见报错,第二不好后的扬言,只见面吃理解也赋值

 JS中之输出语句

          *
document.write():输出语句,将write中之情节打印在浏览器屏幕及;

          *
[利用时注意]:除变量、常量以外的情,打印时得坐“”中;变量常量必须放“”外;

          * 打印的情来差不多一些构成时,之前用+链接;

          * 例如:document.write(“左手中的纸牌:”+left+“<br/>”)

 

                                                                           
亚有些

 一.【算术运算】

     + 加、- 减、* 乘、
/ 除、 % 取余、++ 自增、– 自减

     +:有星星点点种植意向,链接字符串/加法运算;

        
当+两度都为数字时,进行加法运算,当任意一边有字符串时,连接字符串,连接之后的结果仍为字符串;

     /:结果是稍微就是有点;

     %:取余数;

     ++:自增运算符,变量在原的功底及+1;–:同理;

     =:赋值;

     +=:a+=5——>a=a+5;

     -=:a-=5——>a=a-5;前者的执行效率快;

仲、【关系运算】:

   == 、===
!=、>、<、>=、<=

    
==:等于;类型相同,同===,类型不同,将等式两边种不同时,先用number()转换成数值类,在认清

     null==undefined 成立;null===undefined不成立

     ===严格等;类型不同,直接回false,类型相同,在展开下一样步判断;

  条件运算符(多目运算):a>b?true:false

 
当?前面的有些运算结果为true时,执行:前面的代码,当?前面的一部分运算结果吗false时,执行:后面的代码;

  可以多交汇嵌套;例如:var
jiegao=num>5?”大了”:(num=5?”蒙对了”:”小了”);

【运算符的事先级】

  ()

! ++ —

  * / %

  + –

  > < <= >=

  == !=

  &&

  ||

  各种赋值:= += /= *=

 

                                                                    第 三 部 分

一.[if-else]写法:

  if(判断标准){

      //条件为true时执行;

}

else{

      //条件为false时执行;

}

if()中的表达式,运算之后的结果应改变吧:

Boolean:true真   false假

String,非空字符串为确实,空字符串为假;

Null/NaN/Undefined:全为假;

Object:全为真;

else{}结构根据具体情况可略;

二.【多层if、阶梯if】

1、结构写法:

            if(条件一){

                     条件同成立

              }

     else if(条件二){

                     条件一致不树立&&条件二确立

          ( else if可以有多只 )      

              }

        else{

              条件同不建&&条件二啊未起

              }

    2、多重if结构面临,各个判断标准是排斥的,只能选择中间同样条路;

    3、if-else的{}可以简简单单,但未提倡,

               
如果简单{},则,if/else结构包含的代码,仅为该后多年来底平等实行(分行结束);

                如果简单{},则,else结构永远属于其前沿最近之if结构;

 

三.【嵌套if结构】

1、写法:

        if(条件一){

         条件相同成立

                   if(条件二){

                   条件同成立,条件二吗建

                                  }

                      }

      else{

     条件一致不树立

            }

四.【switch分支结构】

1.构造写法:

switch(表达式){

case 常量表达式1:  语句子1; break;

case 常量表达式2:语句2; break;

  defalt:  语句;break;

                      }

【注意事项】:

①switch()中之表达式,以及每个case后面的表达式,(对象以及数组不行)可以吗其它js支持的数据类型;

②case后面的兼具常量表达式必须各不相同,否则就见面实行第一个;

③case后的常量可以是另外数据类型,同一个switch结构的不等case可以是多种不同的数量;

④switch结构于进展判断的早晚,采用的凡全等判断===;

⑤break的意:执行完case代码后跳出当前switch结构;

   缺少break的结果:从科学的case项开始相继执行有的case和defalt

⑥switch结构以认清时,只见面判定1不行是答案,当遇到是的case项后,将会见不在认清后续case项;

   switch的布局执行速率要趁早给多再if结构,在多里程分段时,可预先考虑switch结构;

 ECMAScript 1

 

 五.循环结构

巡回结构的步子:

      1声称循环变量

      2判断循环条件

      3推行循环体(while中{})操作

      4更新循环变量

  然后,循环执行2,3,4

 

【js中循环结构被支持之数据类型】

     Boolean:true真   false假;

     String,非空字符串为真正,空字符串为假;

     number():0为假,一切非0全为真

     Null/NaN/Undefined:全为假;

     Object:全为真;

while
循环特点:先判断,在实行;

ECMAScript 2

do-while:限行,再判断,即便初始标准不树立,do-while循环至少也实行同样不好

【for循环】:  先判断还实行

其三个表达式均只是由多片构成,之间为此逗号组成,但是第二片之论断标准得因此&&链接,最终标准得呢真/假.

for(表达式1,表达式2,表达式3){

语句;

}

1,定义循环变量;

2.判断循环条件;

3,更新循环变量;

老三只表达式均只是略,但是个别单;不可知省;

例如:

ECMAScript 3