JavaScript入门

JavaScript用于根据用户的行为做出反应,即用于实现用户和网页的交互过程,JS代码通常写在html代码的body中

1. 基本语法

1.1 引入方式

JS和CSS类似,有三种引入方式:

行内样式:直接嵌套在html元素内部

内部样式:定义<script>标签,写在script标签中

外部样式:定义<script>标签,通过src属性引入外部文件

1.2 变量 

JS有三个关键字可以声明变量:

  • var:声明的变量作用域在该语句的函数内:var name = 'xiaoming';
  • les:声明的变量作用域为该语句所在代码块:les name = 'xiaoming';
  • const:声明常量,声明后不能修改:const name = 'xiaoming';

JS的变量类型是不固定的,随着程序运行变量的类型可能发生改变

    <script>
        var a = 20; //数字
        a = 'hello';//字符串
    </script>

 可以使用console.log(typeof a)打印a的类型:

    <script>
        var a = 20; //数字
        console.log(typeof a);
        a = 'hello';//字符串
        console.log(typeof a);
    </script>

运行html文件后点击F12在控制台即可看到打印内容 

JS中有以下几种原始类型:

number:数字类型,不区分整数和小数

string:字符串类型,字符串值需要用单引号或者双引号引用起来

boolea:布尔类型,true真,false假

undefined:表示变量未初始化

1.3 运算符

JS的运算符和java用法基本相同,多了“ === ” ,和“ !== ”,===和==都是比较是否相等,== 会进行隐式类型转换后比较,===则不会,!= 和 !== 同理。

    <script>
        var a = 20;
        var b = '20';
        console.log(a == b);
        console.log(a === b);
    </script>

2. JavaScript对象

2.1 数组 

数组有两种创建方式:

1. 使用 new 关键字创建

    <script>
        var arr = new Array();
    </script>

2. 使用字面量创建

    <script>
        var arr1 = [];
        var arr2 = [111, "222", true];
    </script>

JS中数组中的元素类型可以不相同,数组元素的访问和复制方式和Java相同:

    <script>
        var arr1 = [];
        var arr2 = [111, "222", true];
        console.log(arr2[1]);//222
        arr2[2] = false;
        console.log(arr2[2]);//false
    </script>

 JS中可以使用下标,或者push增加数组元素:

    <script>
        var arr1 = [];
        var arr2 = [111, "222", true];
        console.log(arr2[1]);//222
        arr2[2] = false;
        console.log(arr2[2]);//false
        //打印数组长度
        console.log(arr1.length + " " + arr2.length);
        //增加元素
        arr1.push("add");
        arr2[3] = true;
        console.log(arr1.length + " " + arr2.length);
        console.log(arr1[0]);//add
        console.log(arr2[3]);//true
    </script>

 可以不连续赋值,例如:

    <script>
        var arr = [111, "222", true];
        arr[100] = '100';
        console.log(arr.length);
        console.log(arr);
    </script>

直接给100号下标赋值,此时数组长度直接变为101,且中间多了97个空元素,。

复制时,下标是负数或者不是数字也能赋值成功,只不过数组长度不会变化:

    <script>
        var arr = [111, "222", true];
        arr['h'] = '100';
        arr[-1] = -1;
        console.log(arr.length);
        console.log(arr);
    </script>

 使用splice方法删除元素:

    <script>
        var arr1 = [];
        var arr2 = [111, "222", true];
        console.log(arr2[1]);//222
        arr2[2] = false;
        console.log(arr2[2]);//false
        
        //打印数组长度
        console.log(arr1.length + " " + arr2.length);
        //增加元素
        arr1.push("add");
        arr2[3] = true;
        console.log(arr1.length + " " + arr2.length);
        console.log(arr1[0]);//add
        console.log(arr2[3]);//true

        arr2.splice(1, 2);//从1号下标开始,删除两个元素
        console.log(arr2);
    </script>

注意:如果读取元素越界,结果会为undefined 

2.2 函数

JS 中函数使用 function 关键字声明:

    <script>
        function add(x, y) {
            console.log(x + y);
        }
    </script>

函数也是一种数据类型可以赋值给变量:

    <script>
        var a = function add(x, y) {
            console.log(x + y);
        }
    </script>

调用时,可以使用函数名或者储存它的变量加上小括号和参数即可调用,注意如果函数已经被赋值给了变量则不能使用函数名调用,所以函数声明也可简化为:

    <script>
        var add = function (x, y) {
            console.log(x + y);
        }
        add(1, 2);
    </script>

2.3 对象

对象可以包含属性和方法

创建方式:

    <script>
        var a = {};//创建了一个空对象
        var student = {
            name:"xiaoming",
            sex:"男",
            age:18,
            say:function() {
                console.log("hello");
            }
        }
    </script>

访问方式:

    <script>
        var a = {};//创建了一个空对象
        var student = {
            name:"xiaoming",
            sex:"男",
            age:18,
            say:function() {
                console.log("hello");
            }
        }
        //访问属性
        console.log(student.name);
        console.log(student["sex"]);
        console.log(student.say());

        //增加属性
        student.id = 123456;
        student["hight"] = 175;

        console.log(student);
    </script>

 还可以使用new Object创建对象:

<script>
        var b = new Object();//相当于创建了一个空对象,属性需要自己添加
</script>

也可以创建一个构造函数,使用构造函数创建对象:

    <script>
        function cat(name, sex, age) {
            this.name = name;
            this.sex = sex;
            this.age = age;
        }
        var a = new cat("小白", "man", 2);
        console.log(a);
    </script>

注意使用构造方法需要用new 关键字 

3. JQuery

JQuery是一个JavaScript框架,它封装了JavaScript常用的功能代码,方便了开发人员处理各种需求。

3.1 引入依赖

使用JQuery需要先引入对应的库,我们可以从官方网站获取到JQuery库所在的地址:jQuery CDN

 

点击uncompressed(未压缩版本)或minified(压缩版本):

复制src属性后的url填写到script标签中即可。一般推荐把JQuery库下载到本地,复制url用浏览器打开右键点击另存为即可,使用文件路径引入库。

3.2 基本语法

JQuery语法是通过选取html元素,并对选取的元素执行某些操作 。

    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(selector).action()
    </script>
  • $()是一个函数,用于选择和操作html元素
  • selector选择器,用来查询选择的html元素
  • action操作,执行对元素的操作

 JQuery的代码通常都写在document ready函数中

document表示整个文档对象,一个页面就是一个文档对象。

    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(document).ready(function(){
            
        })
    </script>

 上述代码表示在文档加载完成后执行函数,如果没加载完成就执行可能会执行失败。可以简写为以下方式:

    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){

        });
    </script>

JQuery语法可以理解为:元素,做什么。document就代表元素,ready代表加载完后,function函数里包含了要做什么

示例:

    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            $("button").click(function(){
                $(this).hide();
            });
        });
    </script>

例如这个代码,页面加载完后,选择button标签,点击按钮后,选择 this 即当前对象button标签,hide表示消失,即点击后消失。

3.3 事件

网页和用户的交替的前提是网页能感知到用户的操作。

用户对于网页的操作,例如点击,选择,等都会在网页中产生一个事件。

事件由三部分组成:

  1. 事件源:哪个元素触发的。
  2. 事件类型:点击,选择,修改,例如上面的ready()和click()。
  3. 事件处理程序:事件触发后做什么。

3.4 操作元素

3.4.1 获取/设置元素内容
  • text():设置或返回所选元素的文本内容
  • html():设置或返回所选元素的内容,包括html标签
  • val():设置或返回表单字段的值

 方法有参数时代表设置内容,无参数时代表获取内容

取值示例:

    <div>
        <span>span</span>
    </div>
    <input type="text" value="hello">
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            var a = $("div").text();
            var b = $("div").html();
            var c = $("input").val();
            console.log(a);
            console.log(b);
            console.log(c);
        });
    </script>

 注意input的取值只能使用val

赋值示例:

    <div id = "text">
        <span>span</span>
    </div>
    <div id = "html">
        <span>span</span>
    </div>
    <input type="text" value="hello">
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            $("#text").text("<h1>span</h1>");
            $("#html").html("<h1>span</h1>");
            $("input").val("world");
        });
    </script>

3.4.2 获取/设置元素的属性

attr()用于获取/设置元素的属性:

    <div name = "div" id = "two">这是一个div</div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            //获取属性
            var a = $("div").attr("name");
            var b = $("div").attr("id");
            console.log(a);
            console.log(b);
        });
    </script>

    <div name = "div" id = "two">这是一个div</div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            //修改属性
            $("div").attr("name", "DIV");
            $("div").attr("id", "TWO");
        });
    </script>

 

3.4.3 获取/返回css属性

 css()方法可以设置或返回被选元素的一个或多个样式属性

    <div style = "font-size: 36px;">hello</div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            //获取
            var a = $("div").css("font-size");
            console.log(a);
            //设置
            $("div").css("font-size", "48px");
            $("div").css("color", "red");
        });
    </script>

 3.4.4 添加元素
  • append():在被选元素的结尾插入内容(标签内)
  • prepend():在被选元素的开头插入内容(标签内)
  • after():在被选元素之后插入内容(标签外)
  • before():在被选元素之前插入内容(标签外)
    <div>
        <span>111</span><br/>
        <span>222</span><br/>
        <span>333</span><br/>
    </div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            $("div").append("<span>444</span><br/>");
            $("div").prepend("<span>000</span><br/>");
            $("div").after("<div>after</div>");
            $("div").before("<div>before</div>")
        });
    </script>

3.4.5 删除元素

remove():删除被选元素

empty():删除被选元素的子元素

    <div>
        <span>111</span><br/>
        <span>222</span><br/>
        <span>333</span><br/>
    </div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            $("div").remove();
        });
    </script>

使用remove可以看到,div和它的子元素都消失了。

    <div>
        <span>111</span><br/>
        <span>222</span><br/>
        <span>333</span><br/>
    </div>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(function(){
            $("div").empty();
        });
    </script>

 

使用empty可以发现只删除了div的子元素。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ting-yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值