JS基础

 

                                                        
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结构;

 图片 1

 

 五.循环结构

循环结构的手续:

      1声称循环变量

      2判断循环条件

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

      4更新循环变量

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

 

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

     Boolean:true真   false假;

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

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

     Null/NaN/Undefined:全为假;

     Object:全为真;

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

图片 2

do-while:限行,再判断,即便初始标准不起,do-while循环至少也推行同一糟糕

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

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

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

语句;

}

1,定义循环变量;

2.判定循环条件;

3,更新循环变量;

老三单表达式均只是概括,但是片只;不克省;

例如:

图片 3