JavaScript应用知识点

JavaScript应用篇

一、JavaScript作用:

​ 帮助浏览器对用户提出请求进行处理

二、DOM对象:

  • 1.DOM = Document Object Model, 【文档模型对象】

  • 2.JavaScript不能直接操作HTML标签,只能通过HTML标签
    关联的DOM对象对HTML标签下达指令

三、DOM对象生命周期:

  • 1.浏览器在接收到html文件之后,将HTML文件标签加载到浏览器缓存中,
    每当加载一个html标签时候,自动为这个标签生成一个实例对象,
    这个实例对象就是DOM对象

  • 2.在浏览器关闭之前或则浏览器请求其他资源文件之前,本次生成的DOM对象
    一直存活在浏览器缓存中

  • 3.在浏览器关闭时候,浏览器缓存中dom对象将要被销毁

  • 4.在浏览器请求到新资源文件后,浏览器缓存中原有的dom对象将会被覆盖

四、document对象:

  • 1.document对象被称为【文档对象】

  • 2.document对象用于在浏览器内存中根据定位条件定位DOM对象

五、document对象生命周期:

  • 1.在浏览器将网页中所有标签加载完毕后,在内存中将使用【树形结构】
    存储这些DOM对象。在树形结构生成完毕后由浏览器生成一个document对象
    管理这颗树(DOM树)
    在浏览器将接收网页中标签加载完毕后,自动在浏览器内存生成一个document对象

  • 2.一个浏览器运行期间,只会生成一个document对象

  • 3.在浏览器关闭时,负责将document对象进行销毁

六、通过document对象定位DOM对象方式:

  • 1.根据html标签的id属性值定位DOM对象

    命令格式 var domObj = document.getElementById(“id属性值”);

    举个例子 var domObj = document.getElementById(“one”);

    通知document对象定位id属性等于one的标签关联的DOM对象

  • 2.根据html标签的name属性值定位DOM对象

    命令格式 var domArray = document.getElementsByName(“name属性值”);

    举个例子

    <input type="checkbox" name="deptNo" value="10">部门10
    <input type="checkbox" name="deptNo" value="20">部门20
    <input type="checkbox" name="deptNo" value="30">部门30
    var domArray =  document.getElementsByName("deptNo");
    

    通知document对象将所有name属性等于deptNo的标签关联的DOM对象
    进行定位并封装到一个数组进行返回。 domArray就是一个数组存放
    本次返回的所有DOM对象

  • 3.根据html标签类型定位DOM对象

    命令格式 var domArray = document.getElementsByTagName(“标签类型名”);

    举个例子 var domArray = document.getElementsByTagName(“p”);

    段落标签

    通知document对象将所有段落标签关联的dom对象进行定位
    并封装到一个数组返回

七、DOM对象对HTML标签属性操作

  • 1.DOM对象对标签value属性进行取值与赋值操作

    取值操作:
    var domObj =  document.getElementById("one");
    var num = domObj.value;
    赋值操作:
    var domObj = document.getElementById("one");
    domObj.value = "abc";
    

    实例:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script type="text/javascript">
            function fun1() {
                var domArray = document.getElementsByTagName("p");
                for (var i = 0; i < domArray.length; i++) {
                    var domObj = domArray[i];
                    window.alert("标签号:<p>" + domObj.innerText);
                }
    
    
            }
    
        </script>
    </head>
    
    <body>
    
    
        <p>第一个</p>
        <p>第二个</p>
        <p>第三个</p>
        <br>
        <input type="button" value="查看所有标签内容" onclick="fun1()" />
    
    </body>
    
    </html>
    
  • 2.DOM对象对标签中【样式属性】进行取值与赋值操作

    取值操作:
    var domObj =  document.getElementById("one");
    //读取当前标签【背景颜色属性】值
    var color = domObj.style.背景颜色属性
    
    赋值操作:
    var domObj =  document.getElementById("one");
    //通过DOM对象对标签中【背景颜色属性】进行赋值
    domObj.style.背景颜色属性 = 值;
    

    实例:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script type="text/javascript">
            function fun(color) {
                //地位id编号等于one的div
                var domObj = document.getElementById("one");
                //通过dom对象对当前标签【背景颜色进行修改】
                domObj.style.background = color;
            }
    
        </script>
    </head>
    
    <body>
        <center>
            <div style="width: 300px; height: 300px; background: chartreuse;" id="one"></div>
            <input type="radio" name="two" onclick="fun('red')" /><input type="radio" name="two" onclick="fun('yellow')" /><input type="radio" name="two" onclick="fun('blue')" /></center>
    </body>
    
    </html>
    
  • 3.DOM对象对标签中【状态属性】进行取值与赋值操作

    状态属性: 状态属性的值都是boolean类型

    disabled = true ; 表示当前标签不可以使用
    disabled = false; 表示当前标签可以使用

    checked: 只存在与radio标签与checkbox标签
    checked = true ; 表示当前标签被选中了
    checked = false; 表示当前标签未被选中

    取值操作:
    var domObj = document.getElementById("one");
    var num = domObj.checked;
    
    赋值操作:
    var domObj = document.getElementById("one");
    domObj.checked = true;
    

    实例:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script type="text/javascript">
    
            function fun() {
                var flag = document.getElementById("two").checked;
                var domArray = document.getElementsByName("one");
                for (var i = 0; i < domArray.length; i++) {
                    domArray[i].checked = flag;
                }
            }
    
        </script>
    </head>
    
    <body>
        <center>
            <table align="center" border="2">
                <tr>
                    <td><input type="checkbox" id="two" onclick="fun()" />全选/全不选</td>
                    <td>职位</td>
                    <td>工资</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one"></td>
                    <td>初级程序员</td>
                    <td>10000</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one"></td>
                    <td>高级程序员</td>
                    <td>40000</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one"></td>
                    <td>架构师</td>
                    <td>50000</td>
                </tr>
    
            </table>
        </center>
    
    </body>
    
    </html>
    
    1. DOM对象对标签中【文字显示内容】进行赋值与取值

      文字显示内容:  只存在于双目标签之间;<tr>100</tr>
      
      取值操作:
      var domObj = document.getElementById("one");
      var num1 = domObj.innerText;
      
      赋值操作:
      var domObj = document.getElementById("one");
      domObj.innerText = 值;
      
      innerText与innerHTML 区别:
      
      innerText与innerHTML都可以对标签文字显示内容属性进行赋值与取值
      
      innerText只能接收字符串
      
      innerHTML既可以接收字符串又可以接收html标签
      

      实例:

      <!DOCTYPE html>
      <html lang="en">
      
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <script type="text/javascript">
              function fun() {
                  //得到文本框内的值  
                  var str = document.getElementById("t1").value;
                  //赋值给div
                  document.getElementById("div1").innerText = str
              }
          </script>
      </head>
      
      <body>
          <center>
              <div id="div1" style="width: 200px; height: 200px; background-color: antiquewhite; color:red;"></div>
              <input type="text" id="t1" />
              <input type="button" value="提交" onclick="fun()" />
          </center>
      </body>
      
      </html>
      

八、JavaScript监听事件

  • 1.监听事件:
    监听用户在何时以何种方式对当前标签进行操作。
    当监听到相关行为时,通知浏览器调用对应JavaScript
    函数对当前用户请求进行处理

  • 2.监听事件分类:

    • 1)监听用户何时使用鼠标操作当前标签
    • 2)监听用户何时使用键盘操作当前标签
  • 3.监听用户何时使用鼠标操作当前标签:

    • 1) onclick : 监听用户何时使用鼠标【单击】当前标签
    • 2) onmouseover: 监听用户何时将鼠标【悬停】当前标签上方
    • 3) onmouseout : 监听用户何时将鼠标从当前标签上方【移开】
    • 4) onfocus : 监听用户何时通过鼠标让当前标签获得【光标】
    • 5) onblur : 监听用户何时通过鼠标让当前标签丢失【光标】

练习实例

鼠标单机与悬停案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">

        function fun() {
            var flag = document.getElementById("two").checked;
            var domArray = document.getElementsByName("one");
            for (var i = 0; i < domArray.length; i++) {
                domArray[i].checked = flag;
            }
        }

        function fun1(domObj) {

            domObj.style.backgroundColor = "blue";

        }
        function fun2(domObj) {

            domObj.style.backgroundColor = "white";

        }


    </script>

</head>

<body>
    <!-- 
        * 1) onclick :  监听用户何时使用鼠标【单击】当前标签
        * 2) onmouseover: 监听用户何时将鼠标【悬停】当前标签上方
        * 3) onmouseout : 监听用户何时将鼠标从当前标签上方【移开】
        * 4) onfocus    : 监听用户何时通过鼠标让当前标签获得【光标】
        * 5) onblur     : 监听用户何时通过鼠标让当前标签丢失【光标】 -->
    <center>
        <table align="center" border="2">
            <tr>
                <td><input type="checkbox" id="two" onclick="fun(this)" />全选/全不选</td>
                <td>职位</td>
                <td>工资</td>
            </tr>
            <tr onmouseover="fun1(this)" onmouseout="fun2(this)">
                <td><input type="checkbox" name="one" /></td>
                <td>初级程序员</td>
                <td>10000</td>
            </tr>
            <tr onmouseover="fun1(this)" onmouseout="fun2(this)">
                <td><input type="checkbox" name="one"></td>
                <td>高级程序员</td>
                <td>40000</td>
            </tr>
            <tr onmouseover="fun1(this)" onmouseout="fun2(this)">
                <td><input type="checkbox" name="one"></td>
                <td>架构师</td>
                <td>50000</td>
            </tr>

        </table>
    </center>

</body>

</html>

鼠标获得与失去光标案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>User_Add.html</title>

    <script type="text/javascript">
        function fun1() {
            //获得初始密码
            var pass = document.getElementById("one").value;
            if (pass == "") {
                document.getElementById("one").focus();//让one对象获得光标
                document.getElementById("font_1").innerText = "*密码不能为空";
            } else {
                document.getElementById("font_1").innerText = "*";
            }
        }

        function fun2() {
            var pass1 = document.getElementById("one").value;
            var pass2 = document.getElementById("two").value;
            if (pass1 != pass2) {
                document.getElementById("two").focus();//让two获得光标
                document.getElementById("font_2").innerText = "*两次密码不相同!"
            } else {
                document.getElementById("font_2").innerText = "*";
            }
        }

    </script>
</head>

<body>
    <center>
        <form action="/demo1/user/add" method="get">
            <table border="2">
                <tr>
                    <td>
                        用户姓名:
                    </td>
                    <td>
                        <input type="text" name="userName" />
                    </td>
                </tr>
                <tr>
                    <td>
                        密码:
                    </td>
                    <td>
                        <input type="password" name="password" id="one" />
                        <font id="font_1" style="color: red;">*</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        再次输入密码:
                    </td>
                    <td>
                        <input type="password" name="password" id="two" onfocus="fun1()" onblur="fun2()" />
                        <font id="font_2" style="color: red;">*</font>
                    </td>
                </tr>
                <tr>
                    <td>
                        性别:
                    </td>
                    <td>
                        <input type="radio" name="sex" value="" /><input type="radio" name="sex" value="" /></td>
                </tr>
                <tr>
                    <td>
                        邮箱地址:
                    </td>
                    <td>
                        <input type="text" name="email" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" value="用户注册" />
                    </td>
                    <td>
                        <input type="reset" value="重置" />
                    </td>
                </tr>
            </table>
        </form>

    </center>

</body>

</html>
  • 4.监听用户何时使用键盘操作当前标签
    • 1)onkeydown :监听用户何时在当前标签上【按下键盘】
    • 2)onkeyup :监听用户何时在当前标签上【弹起键盘】

按下键盘实例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>键盘弹起监听事件</title>
    <script type="text/javascript">
        var myArray = ["smite", "tomcat", "huasiye", "lvhao", "dairenjie", "zhousiyu", "duanqiqi", "zangzhengyu", "houxingyu", "shengyifan"];

        function fun1() {
            //1.取得文本框中的内容
            var str = document.getElementById("one").value;
            //2.到数组中定位包含了指定内容的字符串
            var value = "";
            if (str == "") {
                document.getElementById("two").style.display = "none";
                return;
            }
            for (var i = 0; i < myArray.length; i++) {
                var str1 = myArray[i];
                //indexOf() "abc".indexOf("a") 会返回a在abc中第一出现的位置
                if (str1.indexOf(str) != -1) {
                    value = value + str1 + "<br/>";
                }

            }
            if (value == "") {
                document.getElementById("two").style.display = "none";
                return;
            }
            //3.将定位字符串作为文字显示内容填充到Div中
            document.getElementById("two").innerHTML = value;
            document.getElementById("two").style.display = "block";//显示
        }

    </script>


</head>

<body>
    <center>
        <div><img src="bg.png"></div>
        <input type="text" id="one" size="50" style="width: 300px; position: fixed;right: 790px;" onkeyup="fun1()" />
        <input type="button" style="background-color: #4e6ef2; color: #ffffff; position: fixed;right: 722px; "
            value="百度一下">
        <br>
        <div id="two"
            style="background-color: antiquewhite; color:black;width: 300px;height: 300px;position: fixed;right: 790px; display: none;">
        </div>
    </center>




</body>

</html>

九、onload监听事件:

  • 作用: 监听浏览器何时将网页中html标签加载完毕

  • 意义: 浏览器在每加载一个HTML标签时,自动在内存中生成一个dom对象

    ​ 在浏览器将网页所有标签加载完毕时,意味着当前网页中所有标签都

    ​ 生成了对应的DOM对象,onload此时就可以触发调用函数对浏览器中

    ​ 标签进行处理,此时不会出现未找到DOM对象的情况

  • 使用:

    • <!DOCTYPE html>
      <html lang="en">
      
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          <script type="text/javascript">
              function fun() {
                  window.alert("fun run");
              }
          </script>
      </head>
      
      <body onload="fun()">
      
      
      </body>
      
      </html>
      

十、基于DOM对象实现监听事件与HTML标签之间绑定

  • 1.前提:

    ​ 实际开发过程中,同一个监听事件往往有多个HTML标签进行绑定

    ​ 这样会增加开发强度,在未来维护过程中增加维护难度

  • 2.命令格式:

    ​ domObj.监听事件名 = 处理函数名 (在此处处理函数名后不能出现( )

  • 3.举个例子:

    var domObj = document.getElementById("one");
    domObj.onclick = fun1;//注意函数名后不可以有()
    //相当于
    <input type= "button" id="one" onclick="fun1()"> //此处函数名后必须有()
    

    实例

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script type="text/javascript">
    
            function fun() {
                var flag = document.getElementById("two").checked;
                var domArray = document.getElementsByName("one");
                for (var i = 0; i < domArray.length; i++) {
                    domArray[i].checked = flag;
                }
            }
    
            function fun1() {
    
                this.style.backgroundColor = "blue";
    
            }
            function fun2() {
    
                this.style.backgroundColor = "white";
    
            }
    
            //声明一个函数,这个函数在浏览器加载页面完毕后自动被调用,
            //执行时为所有数据行绑定onmouseover与onmouseout监听事件
            function main() {
                //1.定位所有tr标签关联的DOM对象
                var domArray = document.getElementsByTagName("tr");
                //2.利用for循环来实现多次绑定
                for (var i = 0; i < domArray.length; i++) {
    
                    domArray[i].onmouseover = fun1;
                    domArray[i].onmouseout = fun2;
                }
            }
    
        </script>
    </head>
    
    <body onload="main()">
        <!-- 
            * 1) onclick :  监听用户何时使用鼠标【单击】当前标签
            * 2) onmouseover: 监听用户何时将鼠标【悬停】当前标签上方
            * 3) onmouseout : 监听用户何时将鼠标从当前标签上方【移开】
            * 4) onfocus    : 监听用户何时通过鼠标让当前标签获得【光标】
            * 5) onblur     : 监听用户何时通过鼠标让当前标签丢失【光标】 -->
        <center>
            <table align="center" border="2">
                <tr>
                    <td><input type="checkbox" id="two" onclick="fun(this)" />全选/全不选</td>
                    <td>职位</td>
                    <td>工资</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one" /></td>
                    <td>初级程序员</td>
                    <td>10000</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one"></td>
                    <td>高级程序员</td>
                    <td>40000</td>
                </tr>
                <tr>
                    <td><input type="checkbox" name="one"></td>
                    <td>架构师</td>
                    <td>50000</td>
                </tr>
    
            </table>
        </center>
    
    </body>
    
    </html>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一些常见的Web中JavaScript知识点: 1. 变量和数据类型:JavaScript中有多种数据类型,包括字符串、数字、布尔值、数组、对象等,还可以使用var、let、const等关键字声明变量。 2. 运算符和表达式:JavaScript中有多种运算符,包括算术运算符、比较运算符、逻辑运算符等,还可以使用表达式进行计算。 3. 控制语句:JavaScript中有多种控制语句,包括if语句、switch语句、for循环、while循环等,可以根据条件执行不同的代码块。 4. 函数:JavaScript中可以使用函数进行代码的封装和重用,还可以使用匿名函数、箭头函数等方式定义函数。 5. 对象和方法:JavaScript中的对象可以包含属性和方法,可以使用点号或方括号来访问对象的属性和方法。 6. DOM操作:JavaScript中可以使用DOM(文档对象模型)来操作HTML文档中的元素,包括获取元素、修改元素属性、添加元素等。 7. 事件处理:JavaScript中可以使用事件来响应用户的操作,包括点击、鼠标移动、键盘输入等,可以使用addEventListener等方法来绑定事件处理函数。 8. AJAX:JavaScript中可以使用AJAX(异步JavaScript和XML)来进行数据的异步加载和交互,可以使用XMLHttpRequest对象发送请求和处理响应。 以上是一些常见的Web中JavaScript知识点,掌握这些知识可以帮助你编写更加丰富和交互的Web应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LvhaoIT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值