JavaScript 基础

JavaScript是一种基于对象(object)和时间驱动(Event Driven)并且具有安全性能的脚本语言
JavaScript是一种脚本编程语言,也是一种解释性语言
JavaScript的程序是通过客户端浏览器来解析的,与web服务器无关

JavaScript的基本语法:

    1、区分大小写:变量、函数名和操作符都区分大小写
    2、标识符:第一个字符必须是字母、下划线或是一个美元符号$,其他字符可以是字母、下划线、美元符或数字
    3、不能把关键字、保留字,如:true、false、null用作标识符
    4、定义变量时要使用var操作符,后跟变量名称
    

JavaScript的数据类型:

    基本数据类型:字符串、数值型、布尔型
    复合数据类型:对象、数组
    其他数据类型:函数、null、undefined
  
    数据类型的转换:隐式类型转换、显式类型转换
                        隐式类型转换的情况:
                                        数字类型:在字符串环境下转换为'数字',在布尔环境下非零数字转换为true
                                        非空字符串:数字环境下转换为字符串中的数字或NaN,布尔环境下转换为true
                                        空字符串:数字环境下转换为0,布尔环境转换为false
                                        null:字符串环境下转换为null,数字环境下转换为0,布尔环境下转换为false
                                        NaN:字符串环境下转换为NaN,布尔环境下转换为false
                                        undefined:字符串环境下转换为'undefined',数字环境下转换为NaN,布尔环境下转换为false
                        显示类型转换的情况:
                                        可以使用Number()、Boolean()、String()函数来将数据类型转换成数字型、布尔型、字符串型
                                        数字类型转换字符串,可以将其与一个空字符串相连
                                        字符串型转换数字型,可以将其减0
                                        字符串或数字型转换成布尔型,可以使用两次!(感叹号)
    
    字符串型是JavaScript中用来表示文本的数据类型
                        字符串对象的声明方法:
                                        1、var str = new string('asdaf')
                                        2、var str = 'sdfghjk'
                        字符串对象的方法:
                                       index0f():返回子字符串在字符串中第一次出现的位置
                                       lastIndex0f():返回子字符串在字符串中最后一次出现的位置
                                       match():找到一个或多个正则表达式匹配
                                       replace(表达式,替换的字符串):替换一个与正则表达式相匹配的子串
                                       split(正则表达式,数组最大长度):用于把一个字符串分割成字符串的数组
                                       toLowerCase():将字符串转换为小写
                                       toUpperCase():将字符串转换为大写
                                       slice(开始下标,结束下标):得到一个从开始下标到结束下标的子字符串
                                       substr(开始下标,截取长度):得到一个从开始下标到指定长度的子字符串
                                       search(正则):查找与正则表达式相匹配的子字符串
    
    NaN即非数值,是一个特殊的数值,这个数值用于表示这个本来要返回数值的操作数未返回数值的情况
    NaN的特点:任何涉及NaN的操作,结果都是NaN
                          NaN与任何值都不相等,包括NaN本身
    对象和数组一样,都是一些数据的集合,这些数据可以是字符串、数字型、布尔型,也可以是复合型
    null是一个特例的数据类型,代表的意思是空,但这个空不代表是0或空字符串,null是没有值,不是一个有效的数字、字符串,也不是数组、对象和函数,什么数据类型都不是
    undefined是一个特例的数据类型,只能定义了一个变量但没有为该变量赋值,使用一个并未定义的变量或者是使用了一个不存在的对象的属性时,JavaScript就会返回undefined
    
    数组:在JavaScript中并不支持多维数组,但是JavaScript中数组元素可以是任何类型的数据,包括数组,
               在JavaScript中数组也是一种对象,这种对象称为数组对象
               数组元素是不能被删除的,只能删除数组元素的值,恢复到未赋值的状态,即undefined,却不能让数组中的元素减少一个
               数组元素的个数:array.length
               数组定义的方法:
                            1、var arr = new Array();            定义一个空数组
                            2、var arr = new Array(2);          定义一个最小长度为2的数组
                            3、var arr = new Array('a','b',......);        定义一个有初始值的数组
                            4、var arr = [1,2,4,.....];            直接定义数组
               数组的方法:
                            tostring():将数组转换为字符串,有逗号连接
                            join():将数组元素连接成字符串(可以自定义连接符)
                            push():在数组尾部添加元素,原数组会改变
                            concat():添加元素并生产新数组
                            unshift():在数组头部添加元素
                            pop():删除并返回数组的最后一个元素
                            shift():删除并返回数组的第一个元素
                            splice(下标,下标,替换的字符):如果只有一个参数就是删除、如果有两个参数就是查找,如果有三个参数就是查找出来匹配的值,并把原数组替换
                            slice(开始下标,结束下标):返回数组中的一部分
                            reverse():颠倒数组中的元素
    数值转换:
                Number():null返回0,undefined返回NaN,
                                    如果是字符串:'011'变成11,如果是空字符串转换为0
                                                             'oxf'会变成相同大写的十进制整数                    
                                                             如果字符串包含上述以外的字符,将其转换为NaN
                Parselnt():忽略字符前面的空格,直到找到第一个非空格字符
                                    如果第一个字符不是数字或者是负号,返回NaN
                                    空字符串,返回NaN
                                    如果第一个是数字,会继续解析,直到遇到一个非数字
                                    如果字符串以0x开头且后面跟数字字符,就会转成16进制,八进制也一样
                ParseFloat():第一个小数点是有效的,第二个小数点无效
                                       始终忽略前面的0,不分进制
                                       十六进制会被转换成0
                                       空字符串转换为NaN
                                    

JavaScript的函数:

    JavaScript中,使用function语句定义函数,也可以使用Function构造函数来定义函数
    JavaScript中的函数不允许给参数赋初始值
    函数的声明方法:
                1、function  函数名(参数1.。。。){语句块;return 返回值}
                2、var  函数名 = new Function(参数1,参数2,。。。,函数体)
                3、var  函数名 = function (参数1,参数2,。。。){函数体}
   

JavaScript对象的声明:

    对象的声明方法:
                1、var 对象名 = {属性名1:属性值,属性名2:属性值2........}
                2、var  myobject = new Object();
                        myobject.name ='lili';
                        myobject.age = 20;
    eval():将字符串指定为对象

JavaScript中的内置对象:

    日期对象:
            getFullYear():返回4位数年份
            getMonth():返回月份0-11
            getDate():返回日期对象中的一个月中的第几天
            getHours():返回日期中的小时部分
            getTime():返回日期对象中的时间戳的毫秒部分
            getMilliseconds():返回日期对象中的毫秒部分
            getTimezoneOffset():返回日期对象中的时区的时间差,单位秒
    数学对象:
            Math.E:自然对数的底数(e)
            Math.abs():绝对值
            Math.ceil():进一取整
            Math.floor():退一取整
            Math.pow():求几次幂
            Math.round():四舍五入
            Math.sqrt():平方根
            Math.random():0.0~1.0之间的随机数

JavaScript中+(加号)表示连接字符,.(点)来调用和设置对象的属性或者方法(如:d.name)this代表的是当前对象
for..in可以遍历数组,也可以遍历对象

            例:for(var i in arr){alert(arr[i])}

标签: JavaScript

评论已关闭