黑马程序员技术交流社区

标题: [成都校区]js基础 [打印本页]

作者: 葉丨    时间: 2019-4-25 19:33
标题: [成都校区]js基础
一、JS概述
        1. 概念
                一种客户端脚本语言
                客户端:运行在浏览器
                脚本语言:不需要编译,执行通过解析引擎读取,执行。

        2. 作用:
                A:可以做一些简单的数据处理        //聪明
                        // 可以运算,+ - * %
                        // 可以做正则校验

                B:可以控制html元素,让页面有一些动态的效果,增强用户的体验        //活泼
                        //document.write("<p></p>")

        3. 组成部分
                JavaScript = ECMAScript + BOM + DOM

        4. 引入方式
                内部        <script>js代码</script>                //通常定义在<head>标签中
                外部        <script src="js/xxx.js"/>        //通常放在<body>标签中的最后面


二、JS语法
        1. 变量        //弱类型
                var i = 10;                //variable变量
                var s = 'abc';
                i = true;

        2. 数据类型
                1) 原始数据类型
                        number                //整数|小数|NaN
                        string                //单双引号都可
                        boolean
                        null                //空对象的占位符 typeof(null)-->object
                        undefined        //变量未初始化

                2) 引用数据类型

                3) 类型转换
                        A:Xxx--->number
                                string:                //正确格式的数字字符串都能转,其它转成NaN                parseInt()
                                boolean:        //true-->1; false-->0

                        B:Xxx--->boolean                //[重要]
                                number:                //0|NaN--->false; 其它--->true
                                string:                //""--->false; 其它--->true
                                null:                //--->false
                                undefined:        //--->false
                                引用数据类型//--->true
                       
        3. 运算符
                ==                //先进行类型转换,再比较
                ===                //先判断类型,再判断值

        4. 流程控制语句
                if
                while
                do...while
                switch                        //可以接收所有原始数据类型
                for


三、JS函数

        1. 定义
                function 函数名(形参列表){
                        方法体
                }

                var 函数名 = function(){
                }


        2. 特征
                A:内置arguments数组对象,可以接收实参
                B:没有方法重载,只有覆盖
                C:调用方法只看方法名,不管参数列表


四、JS的内置对象

        1. Array
                1) 创建
                        var arr1 = new Array(1,2,3,4)
                        var arr2 = new Array(10)
                        var arr3 = [1,2,3,4,5]
                2) 方法
                        .join("连接符")                //指定元素间的连接符
                        .push()                        //添加元素

                3) 特征
                        A:长度可变
                        B:类型可变

        2. Date
                1) 创建
                        var d = new Date();
                        var d = new Date(milliseconds);        //根据指定毫秒值创建
                        var d = new Date(dateString);        //根据指定日期字符串创建

                2) 方法
                        .toLocalString()        //转成本地字符串形式
                        .getTime()                //获取毫秒值

        3. Math
                //不用创建对象,直接调方法
                .ceil()
                .floor()
                .random()
                .round()
               

        4. RegExp        //正则表达式
                1) 创建
                        var reg = new RegExp("\\w{6,10}");        //注意要用双斜杠
                        var reg = /\w{6,10}}/        //注意不要加引号
       
                2) 方法
                        reg.test("被检测的字符串")

                3) 注意事项:
                        ① 根据业务需求,决定是否需要添加开始&结束符
                                var reg = /^1[345789]\d{9}$/;
                                var tel = "18900001111";
                                var flag = reg.test(tel);
                                alert(flag);

                                var reg = new RegExp("");
                                var tel = "@#$%^&DFGHJK45678";
                                var flag = reg.test(tel);
                                alert(flag);


        5. Global
                1) 概念
                        全局函数,不用创建对象,可以在任意地方直接调用的函数。
               
                encodeURI()                //编码
                decodeURI()                //解码
                encodeURIComponent()        //更长...
                decodeURIComponent()
                parseInt()                //按位解析字符串,转换成数字
                isNaN()                        //NaN六亲不认,只能通过这个函数判断是否是NaN类型
                eval("一段可执行的js代码")



五、BOM                        //Browser Object Model                浏览器对象模型                控制浏览器的一些行为
六、DOM                        //Document Object Model                文档对象模型                控制HTML文档中的标签






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