JavaScript

JavaScript

大纲

1、JS 基本使用

JavaScript基本写法

第一种:在Script标签里写入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 基本使用 </title>
</head>
<body>
<!--JavaScript基本写法-->
<!--第一种:在Script标签里写入-->
    <script>
        // 输出的一种模式,在浏览器控制台显示内容
        console.log("hello world")
    </script>
</body>
</html>

第二种: 外部的js文件引入

新建 js 文件

// 输出的一种模式,在浏览器控制台显示内容
console.log("人生苦短,我用Python")

html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 基本使用 </title>
    <!--如果是标准库,一般会在这里引入-->
</head>
<body>
<!--JavaScript基本写法-->
<!--第二种:在外部的js文件引入-->
    <script src="demo.js"></script>
</body>
</html>

标准库:https://www.runoob.com/js/js-reserved.html

JS 基本写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 基本写法</title>
</head>
<body>
    <div> hello world </div>
    <script>
        // var 声明、定义 obj 变量名,随意取 document 文档
        // getElementsByTagNameNS 获取多个标签 [0] 通过下标获取第一个标签
        var obj = document.getElementsByTagName("div")[0];
        // 通过对象修改源文件 innerText 获取标签内的文字 innerHTML 不仅能获取到标签内的文字,还能获取到标签 修改后的内容:"你好,世界"
        obj.innerText = "你好,世界"
    </script>
</body>
</html>

JS书写的规范

1、严格区分大小写

2、每一段代码写完,分号;结尾

3、不使用关键字命名

4、代码缩进,保持可读性

JS 获取元素

第一种:通过id获取标签内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 获取元素</title>
</head>
<body>
    <div class="box" id="div1">我是第一个div盒子</div>
    <div class="box" id="div2">我是第二个div盒子</div>
    <input type="text" name="hello" placeholder="请输入">
<!--获取元素-->
    <script>
        // 第一种通过id获取标签
        var ID = document.getElementById("div1");
        // 通过标签对象获取标签,查看是否获取到标签
        console.log(ID);
        // 修改标签内的文本
        ID.innerText = "获取第一个盒子成功"
    </script>
</body>
</html>

第二种:通过class获取标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 获取元素</title>
</head>
<body>
    <div class="box" id="div1">我是第一个div盒子</div>
    <div class="box" id="div2">我是第二个div盒子</div>
    <input type="text" name="hello" placeholder="请输入">
<!--获取元素-->
    <script>
        // 第二种:通过class获取标签
        // class获取的是全部,如果要改变当中的某一个,可以加上对应的索引
        var dcm = document.getElementsByClassName("box")[1];
        console.log(dcm);
        dcm.innerText = "获取第二个盒子成功"
    </script>
</body>
</html>

第三种:通过标签名获取

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 获取元素</title>
</head>
<body>
    <div class="box" id="div1">我是第一个div盒子</div>
    <div class="box" id="div2">我是第二个div盒子</div>
    <input type="text" name="hello" placeholder="请输入">
<!--获取元素-->
    <script>
        // 第三种:通过标签名获取
        // 标签名取到的是全部,要改变当中某个,可以加上对应的索引
        var Name = document.getElementsByTagName("div")[0];
        console.log(Name);
        Name.innerText = "改变第一个盒子成功"
    </script>
</body>
</html>

第四种:通过name属性获取

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 获取元素</title>
</head>
<body>
    <div class="box" id="div1">我是第一个div盒子</div>
    <div class="box" id="div2">我是第二个div盒子</div>
    <input type="text" name="hello" placeholder="请输入">
<!--获取元素-->
    <script>
        // 第四种:通过name属性获取
        // name 取到的是全部,要改变当中某个,可以加上对应的索引
        var Name = document.getElementsByName("hello")[0];
        console.log(Name);
        Name.innerText = "改变输入信息成功"
    </script>
</body>
</html>

第五种:通过css选择器获取

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 获取元素</title>
</head>
<body>
    <div class="box" id="div1">我是第一个div盒子</div>
    <div class="box" id="div2">我是第二个div盒子</div>
    <input type="text" name="hello" placeholder="请输入">
<!--获取元素-->
    <script>
        // 第五种:通过css选择器获取
        // 取出第一个标签
        var Select = document.querySelector(".box");
        console.log(Select)
        // 取出所有标签
        var SelectAll = document.querySelectorAll(".box");
        console.log(SelectAll)
    </script>
</body>
</html>

2、JS 简单事件

单击事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>单击事件</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: hotpink;
        }
    </style>
</head>
<body>
    <div class="box">原盒子内容</div>
<!--单击事件-->
    <script>
        var oBox = document.getElementsByClassName("box")[0];
        console.log(oBox)
        // 调用单击事件的方法
        oBox.onclick = function (){
            // this 代表当前这个对象 oBox
            this.innerText = "盒子内容改变成功";
        }
    </script>
</body>
</html>

双击事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>双击事件</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box">原盒子内容</div>
<!--双击事件-->
    <script>
        var rebox = document.getElementsByClassName("box")[0];
        console.log(rebox);
        // ondblclick 双击事件
        rebox.ondblclick = function (){
            rebox.innerText = "修改盒子内容成功"
        }
    </script>
</body>
</html>

鼠标划入划出事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>鼠标划入划出事件</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box">原盒子内容</div>
<!--鼠标划入划出事件-->
    <script>
        var oBox = document.getElementsByClassName("box")[0];
        // onmouseenter 鼠标划入
        oBox.onmouseenter = function (){
            oBox.innerText = "鼠标划入显示"
        }
        // onmouseleave 鼠标划出
        oBox.onmouseleave =function (){
            oBox.innerText = "鼠标划出显示"
        }
    </script>
</body>
</html>

窗口变化事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>窗口变化事件</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box">原盒子内容</div>
<!--窗口变化事件-->
    <script>
        var oBox = document.getElementsByClassName("box")[0];
        // 窗口变化
        window.onresize = function (){
            console.log("窗口发生变化时显示")
            oBox.innerText = "窗口正在发生变化"
        }
    </script>
</body>
</html>

改变下拉框事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>改变下拉框事件</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
<!--下拉框-->
    <select name="" id="">
        <option value="">广州</option>
        <option value="">长沙</option>
        <option value="">湖南</option>
        <option value="">北京</option>
    </select>
<!--改变下拉框事件-->
    <script>
        var sl = document.getElementsByTagName("select")[0];
        // onchange 下拉框
        sl.onchange = function (){
            console.log("下拉框变化时显示")
        }
    </script>
</body>
</html>

3、JS 修改样式

直接修改

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 修改样式 </title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        var oBox = document.getElementById("box");
        // 方法一:
        // 修改宽度
        oBox.style.width = "100px";
        // 修改高度
        oBox.style.height = "100px";
        // 修改背景颜色
        oBox.style.background = "red";

        // 方法二:
        oBox.style.cssText = "width:200px;height:200px;background:yellow";

        // 修改外边距
        oBox.style["margin-left"] = "50px";
        // 或者另一种写法
        oBox.style.marginLeft = "200px";
    </script>
</body>
</html>

使用变量写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 修改样式 </title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        var oBox = document.getElementById("box");
        // 用变量写
        var a = "width"
        var b = "10px"
        // 或者 var a = "width";b = "10px";
        oBox.style[a] = b
    </script>
</body>
</html>

修改属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 修改属性</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
<!--target="_blank"在新窗口打开 xy="myself" 自定义属性,当其他属性不可用时,用自定义属性-->
    <a href="https://www.baidu.com" id="ID" target="_blank" class="rap" xy="myself">走马观花一朵花</a>
    <script>
        var obj = document.getElementById("ID");
        // 修改属性 更改打开方式 从新窗口打开改成 _self 在当前网页打开
        obj.target = "_self"
        // 获取id
        console.log(obj.id)

        // 修改属性
        obj.className = "wrap"
        console.log(obj.className)

        // 修改自定义属性 setAttribute 有则改,无则增
        obj.setAttribute("xy","yourself")

        // 添加属性
        obj.setAttribute("name","keai")
    </script>
</body>
</html>

4、JS 数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS 数据类型</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <script>
        // number类型
        var a = 2
        var b = 2.5
        // object 数组
        var c = []
        // object 字典
        var d = {}
        // boolean 布尔
        var e = true
        // object 空
        var f = null
        // undefined 未被定义
        var g
        // 查看数据类型
        alert(typeof a)
        alert(typeof b)
        alert(typeof c)
        alert(typeof d)
        alert(typeof e)
        alert(typeof f)
        alert(typeof g)
    </script>
</body>
</html>
posted @ 2022-04-28 16:48  猪腩飞了天  阅读(44)  评论(0编辑  收藏  举报