JavaScript 基础

前端 / 255人浏览 / 0人评论

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])}

0 条评论

还没有人发表评论

发表评论 取消回复