JavaScript这门语言

学习任何一门语言都要从数据类型、基本运算、流程控制、基本语法开始。

一、数据类型

    1、数字类型:整数和小数,显示类型number

    2、布尔类型:boolean

    3、字符串:string

    4、数组:数组,显示object类型

    5、空类型:null,显示object类型

    6、NaN:not a number,需要通过isNaN(数据)来进行判断是否是NaN类型,false:不是NaN,true:是NaN

    7、undefined:未定义类型,未定义或者未赋值再或者出现一些错误会出现undefined或者使用对象未有的属性

       注意:undefined进行类型判断需和字符串进行比较,比如:typeof(变量)=="undefined"

    8、对象object

            三种方式:

                1.直接new,然后再添加属性和方法

                      var obj = new Object()

                     动态添加属性和方法:

                             obj.name="张三"

                            obj.fun=function(){alert(this.name)}

                      调用:obj.fun()

                     继承:

                             var obj = new Object(obj)

                 注意:只有这种方法有继承。直接创建对象,然后在括号中写父类就是继承

                  2.使用JSON字符串创建对象

                      var person = {"name":”张三“,"fun":function(){逻辑代码}}

                   注意:由于JSON作为一种数据交换格式,所以JSON中的键最好用双引号括起来,因为在其他语言中都有字符串类型,最好不要用单引号,毕竟有的语言单引号不是字符串的标记。

                 3.使用类似构造函数的方式

                        //定义

                       function person(name){

                                        //属性

                                         this.name=name

                                        //函数

                                         this.fun=function(){逻辑代码}

                                     }

                      //创建对象

                     var obj = person("张三")

                 注意:只有这种方法有对象创建可以初始化数据(传递参数)

二、基本运算

    1、赋值运算:=

    2、算术运算:+、-、*、/、%

    3、复合运算:+=、-=、*=、/=、%=

    4、逻辑运算:&&并、||或、!非

    5、比较运算:<、<=、>、>=、==、!=、===恒等(不但比较大小还比较类型)、!==恒不等(不但比较大小还比较类型)

    6、位运算:&按位与、|按位或、~按位取反、^异或、<<左移两位、>>右移两位

    7、三元运算符:表达式1?表达式2:表达式3

               当表达式1为真取表达式2的值,否则取表达式3的值

    8、自增和自减:++、--

              ++在变量之前(a=++b):向进行自增再参与其他运算。

              ++在变量之后(a=b++):先参与其他运算在进行自增。

              --同上

三、流程控制

    1、顺序结构

        自上而下,按顺序执行

    2、分支结构

        1.if -else

        2.switch-case:执行匹配到的语句块,否则执行default语句块

     注意:switch-case是按值选择运行代码的,一但选择并未break会导致之后的case全部执行,不再进行比较

四、基本语法

    1、循环结构

        1.while和do-while

            区别:while先判断在执行;do-while先执行再判断,至少执行一次

        2.for(表达式1;表达式2;表达式3;){}

             表达式都可以省略,表达式1省略需要在for循环之前定义变量,表达式2省略永真;表达式3省略要在循环体末尾自增或自减。

        3.for-in,遍历数组或对象

            数组:遍历的是下标

            对象:遍历的是对象的属性名

    2、异常处理

        格式:try{可能出异常的语句}catch(e){异常处理语句}

        抛异常:throw "要抛的异常信息"

    3、函数

        1.定义:function fun(){},关键字是function

        注意:函数名不能相同,否则后面的函数会覆盖前面的函数

        2.匿名函数

         定义:var fun = function(){}

        将函数的地址给变量fun

        3.内部函数

        定义:function outter(){function inner(){}}

        注意:内部函数可以在定义之前调用(在有些语言必须要在定义之后才能使用)

       4、参数传递

           1、 传递的实参的个数可以多与(从左往右取值)或少于形参的个数,并不会报错

            2、全局参数对象arguments,保留了一个函数的所有参数,可以像数组一样操作它,arguments[下标]。

    注意:使用arguments必须要在函数内部参能起作用。

      5、封闭空间

         其实就是实现独立运行匿名函数:

                (function(){})(参数)//参数是指调用该匿名函数要传递的参数

    4、变量

        1、全局变量

         可以全局使用,包括在函数内部使用,但是要注意函数内部如果有同名变量将优先使用自己的局部变量。

       2、局部变量

        函数内部定义的变量,外部不可访问和使用

       3、不存在块级作用域,即:代码块中定义的变量相当于全局变量,外部可以访问和使用。

        

                        

猜你喜欢

转载自blog.csdn.net/ryuhfxz/article/details/83186689