黑马程序员技术交流社区

标题: 学习使我进步 [打印本页]

作者: 胡金超    时间: 2019-8-20 17:02
标题: 学习使我进步
1.JS概述:
        JS是一种运行在浏览器端的脚本语言。
        负责页面动态效果, 简单来说, 就是负责让页面动起来。
        JavaScript = ECMAScript + BOM + DOM;
       
2.JS的组成
        ECMAScript        :JS的基本语法
        BOM                        :浏览器对象模型(Browser Object Model),包含了JS中操作浏览器的相关对象.
        DOM                        :文档对象模型(Document Object Model),包含了JS中操作HTML页面的相关对象.

3.JS的引入方式
        3.1:内部JS:
                * 定义<script>,标签体内容就是js代码
        3.2:外部JS:
                * 定义<script>,通过src属性引入外部的js文件. 此时,标签体内部不允许写任何代码
        注意:
                1. <script>可以定义在html页面的任何地方。但是定义的位置会影响执行顺序。一般建议定义在<head>标签内部
                2. <script>可以定义多个。
                3. <script>在引入了外部的JS文件后,其内部将不再允许书写js代码。

4.JS的基本语法(与Java不同之处):
        定义变量:
                var a = 值;
        定义方法:
                function 方法名(){        }
        运算符:
                ==        :"数值"是否相等
                ===        :"数值"和"类型"都完全相同,才是true
        注意:
                其他语法,和Java语法几乎完全相同
               
5.类型转换(了解)
        概述:
                JS是弱类型语言,在处理数据时,对类型要求不严格,所以,就会产生一些数据类型上的自动转换。
        分类:
                转换为number:
                        * string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
            * boolean转number:true转为1,false转为0
                转换为boolean:
                        * number转boolean:0或NaN为假,其他为真
            * string转boolean:除了空字符串(""),其他都是true
            * null转boolean:        都是false
                        * undefined转boolean:都是false
            * 对象:都为true
                        //一切有意义的都是true,无意义的都是false
               
6.JS的常见对象:
        6.1:Array(数组)
                创建数组:
                        var arr = [元素列表];
                常用属性:
                        length:数组的长度
                常用方法:
                        join(): 把数组按照指定字符串拼接.
                        /**
                         *        例如:
                         *                var arr = [1,2,3];
                         *                arr.join("-");
                         *                结果是: 1-2-3
                         */
                        push(新元素): 向数组的最后添加新元素
                特点:
                        1. JS中,数组元素的类型可变的。
                        2. JS中,数组长度可变的。
                       
        6.2:Date(日期时间)
                var date = new Date();        //获取当前时间
                date.getTime();                        //获取当前时间的毫秒值。返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差
       
        6.3:Math
                Math.random()        :返回 0 ~ 1 之间的随机数。 含0不含1
                Math.ceil(x)        :对数进行上舍入。
                Math.floor(x)        :对数进行下舍入。
                Math.round(x)        :把数四舍五入为最接近的整数。
                Math.PI                        : π



7.正则表达式:
        概述:
                是一个包含了特殊规则的字符串。(本质上也是一个字符串,只不过该字符串中的字符包含了特定含义)
        规则:               
                单个字符:[]
                        如:[a] [ab] [a-zA-Z0-9_]
                        * 特殊符号代表特殊含义的单个字符:
                                \d:单个数字字符 [0-9]
                                \w:单个单词字符[a-zA-Z_0-9]
                量词符号:
                        ?                //表示出现0次或1次
                        *                //表示出现0次或多次
                        +                //出现1次或多次
                        {m,n}:        //表示最小m次,最多n次
                                * m如果缺省: {,n}:最多n次
                                * n如果缺省:{m,} 最少m次
                其他:
                        ^:开始
                        $:结束

8.JS中使用正则表达式
        1.创建正则表达式对象
                var reg = /正则表达式/;
        2.使用正则表达式
                reg.test(字符串); //验证指定的"字符串"是否符合"正则表达式的指定规则"
        3.常用规则:
                A. QQ正则
                                [1-9]\d{4,10}
                B. 手机号正则
                                [1][34578]\d{9}                       
                C. 邮箱正则
                                \w+@[a-zA-Z0-9]+\.[a-z]{2,3}

9.全局对象Global
        特点:
                该对象Global中封装的方法不需要对象, 可以直接调用。  
        常用方法:
                parseInt():将字符串转为数字
                        * 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
                isNaN():判断一个值是否是NaN
                        * NaN六亲不认,连自己都不认。NaN参与的==比较全部都是false
                eval():讲 JavaScript 字符串,并把它作为脚本代码来执行。
               
10.URL编码(了解)       
        概述:
                在Web开发中,浏览器的地址栏,不支持中文.
                为了解决这个问题, 我们在传递中文时,会把中文进行编码传输, 等对方接收后,对方解码, 这就是URL编码和解码.
        方法:
                encodeURI():url编码
                decodeURI():url解码
                encodeURIComponent():url编码,编码的字符更多
                decodeURIComponent():url解码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2