JavaWeb——JavaScript基础学习

JavaScript的认识

1.概念:一门客户脚本语言
        *运行在客户浏览器中的。每一个浏览器都有JavaScript的解析引擎
        *脚本语言:不需要编译,直接可以被浏览器解析执行。
 2.功能:
        *可以用来增强用户和html的交互过程,可以控制HTML元素,让页面有一些动态效果,增强用户的体验

ECMAScript语法与对象

基本语法

         1.与html的结合方式
                *内部JS:
                    定义<script>,标签体内容就是JS代码
                *外部JS
                    定义<script>,通过scr属性引入外部JS文件
                *注意:
                    1.<script>可以定义在html页面的任何地方。但定义的位置会影响执行的顺序。
                    2.<script>标签可以定义多个
            2.注释
                *单行注释://注释内容
                *多行注释:/*注释内容*/ /*
            3.数据类型
                *原始数据类型(基本数据类型)
                    1.number:数字。 整数/小数/NaN(not a number  一个不是数字的数字类型)
                    2.string: 字符串。 字符/字符串 'abc' "abc" 单引双引都行
                    3.Boolean: true或false
                    4.null:一个对象为空的占位符
                    5.undefined:未定义。如果一个变量没有给初始化值,就会被默认赋值为undefined
                *引用数据类型:对象
            4.变量
                *变量:一小块存储数据的内存空间
                *Java语言是强类型的语言,而JavaScript弱类型的语言。
                    强类型语言是在开辟存储空间时定义了空间将来存储的数据类型,未来只能存储固定的数据类型
                    弱类型是在开辟存储空间时没有定义了空间将来存储的数据类型,可以存放任意数据类型
                *语法:
                    *var 变量名=初始化(可有可无);
            5.运算符
                1.一元运算符:只有一个运算数的运算符
                    ++,--,+(正号),+3
                    *++ --:自增(自减),符号在前,先自增再运算。符号在后,先运算再复制
                    注意:再js中,如果运算数不是运算符所要求的类型,那么js引擎会自动将运算数转化为number类型。
                        string转number:按照字面进行转化。如果字面不是数字,则转为NaN(不是数字的数字)
                            如 var a=+'123'  var b='abc' 前者转化为123的number类型。后者转化为NaN。NaN与任何数做运算还是NaN
                        boolean转数字:true转为1,false转为0.
                2.算数运算符
                    +,-,*,/,%
                3.赋值运算符
                    =,+=,-=...
                4.比较运算符
                    > < <= == ===(全等于)
                    1.类型相同:直接比较
                        *字符串:按照字典顺序比较。按位注意比较,直到得出大小
                    2.类型不同:先进行类型转化,在比较
                        *===:全等于。在比较之前先判断类型。类型不一样直接返回false
                5.逻辑运算符:
                    && || !
                    *其他类型转boolean:
                        1.number:0或NaN为假,其他位真
                        2.string:除了空字符串(不是null而是"")为假,其他都为真
                        3.null&undefined:都是false
                        4.d对象:说有对象都是true
                6.三元运算符
                    ? : 表达式
                       var a=3
                       var b=4
                       var c=a>b? 1:0
            6.流程控制语句
                1.if...else
                2.switch
                    *在Java中,switch语句接受的的数据类型:byte int short char 枚举 String
                    *在js中,switch可以接受任意数值类型。
                3.while
                4.for
                5.do...while
            7.js特殊语法
                1.语句以分号结尾,如果一行只有一条语句;可以省略(不建议)
                2.变量的定义使用var关键字,也可以不使用
                    用:定义的变量是局部变量
                    不用:定义的变量是全局变量(不建议使用)   

基本对象

        Function:函数对象
                  1.创建
                    1. var fun=new Function(形式参数列表,方法体)(没啥用,可以忘记,并不符合我们定义方法的逻辑)
                    2.function 方法名称(形式参数列表){方法体}
                    3.var 方法名=function(形式参数列表){方法体}
                      注意:var fun3= function (a,b) 第三种的定义方法中没有new,写了会出错
                  2.方法
                  3.属性
                    length属性代表形参个数
                  4.特点
                    1.方法定义时,形参的类型不用写
                    2.方法是一个对象,如果定义名称相同的方法,会覆盖之前的方法
                    3.在js中方法的调用与方法的名称有关,与方法的形参列表无关
                    4.在方法声明中有一个隐藏的的内置对象(数组),arguments,封装所有的实际参数
                  5.调用
                    方法名(实参列表)


            Array
                  1.创建
                    1.var arr=new Array(元素列表)
                    2.var arr= new Array(默认长度)
                    3.var arr=[元素列表];
                  2.方法
                    join():将数组的元素按照指定的分隔符拼接成为字符串,默认用逗号,arr4.join("")无分隔符
                    push():向集合的尾部添加一个或更多的元素,用返回新长度
                  3.属性
                  4.特点
                    1.js中,数组的元素类型是可变的。
                    2.在js中,数组的长度时可变的。

            Date
                  1.创建
                    1.var arr=new Array(元素列表)
                    2.var arr= new Array(默认长度)
                    3.var arr=[元素列表];
                  2.方法
                    join():将数组的元素按照指定的分隔符拼接成为字符串,默认用逗号,arr4.join("")无分隔符
                    push():向集合的尾部添加一个或更多的元素,用返回新长度
                  3.属性
                  4.特点
                    1.js中,数组的元素类型是可变的。
                    2.在js中,数组的长度时可变的。


            Math
                  1.创建:
                      *特点:该对象不用创建直接可以使用。 Math.方法名()
                  2.方法
                    random():返回0~1之间的一个随机数。包含0不包含1
                    ceil():对数字进行向上舍入成整数
                    floor():对数字进行向下舍入成整数
                    round():把数四舍五入成整数
                  3.属性:
                      PI

            RegExp:正则表达式对象
                1.正则表达式:定义字符串的组成规则。
                    1单个字符:[]
                        如:[a],[ab],[a-z],[a-zA-Z0-9]//a,a或b,a到z,a到z A到Z 0到9
                         *特殊的符号代表特殊含义的字符
                              \d:单个数字字符[0-9]
                              \w:单个单词字符[a-zA-Z0-9]
                    2.量词符号:
                        ?:表示出现0次或1次
                        *:表示出现0次或多次
                        +:表示出现1次或多次
                        {m,n}:表示次数 m<=数量<=n
                            *m如果缺省:{,n}:表示最多出现n次
                            *n如果缺省:{m ,}:表示最少出现m次
                        \w*:表示由单词字符构成单词字符出现0次或多次
                         var reg1=new RegExp("\\w{0,20}")
                         var reg2=/\w{6,12}/ //以单词符号开头,单词符号结尾,建议使用
                   3.开始结束符号
                    *^:开始
                    *$:结束
                2.正则对象
                    1.创建
                        1.var reg=new RegExp("正则表达式")
                        2.var reg=/正则表达式/
                    2.方法
                        1.test(参数);验证指定字符串是否符合正则的规范


            Global
                1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用. 方法名();
                2.方法:
                    下面两种方法的编码跟节码方式都相同,不同的是第二种的编码方式编码的字符更多不单单是中文
                        encodeURI():url编码
                        decodeURI:url解码

                        encodeURIComponent():url编码
                        decodeURIComponent():url解码

                        parseInt():将字符串转化为数字
                            *注意判断每一字符串是否为数字,直到不是数字为止,将前面的数字部分转化为number。一开始没有数字直接NaN

                        isNaN():判断一个值是否为NaN
                            *NaN六亲不认,连自己都不人,NaN参与的等等运算全部都为false

                        eval():将JavaScript字符串,转化为脚本代码执行
                            如:var jscode="alert(102)";
                                eval(jscode);
                            执行的就是字符串中写出的代码,跳出弹窗。
                3.url编码
                    一个中文GBK站2字节,utf 8占3字节。将中文写成二进制格式,每4位转化为一个16进制数字。每两个数字用一个%号过去隔开来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值