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