当前位置: 首页 > news >正文

JS基础部分

引入方式

内部脚本在这里插入图片描述
外部脚本
在这里插入图片描述

变量

使用let声明变量,弱类型,使用const声明常量

在这里插入图片描述
在这里插入图片描述
因为箭头函数中this指针有问题,会默认指向父级对象

DOM

文档对象模型,将标记语言的各个部分封装成对应的对象。js通过dom就能够对html进行操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码示例:

<body>
    <h1>js文档对象模型DOM</h1>
    <!-- DOM的思路就是万物皆对象,网页中的所有元素都是一个个对象,通过DOM可以对网页中的元素进行操作。 -->
    <!-- DOM的三个主要对象:document、window、element。 -->
    <h1 id = "title1">111</h1>
    <h1 id = "title2">222</h1>
    <h1 id = "title3">333</h1>
    <script>
        // 修改第一个标题中的文本内容
        // 获取到第一个dom对象,调用其方法修改文本内容
        document.querySelector("#title1").innerHTML = "修改后的标题1";
        let h1 = document.querySelectorAll("h1"); // 获取到一个集合
        // 遍历所有h1对象,修改其文本内容
        for(let i = 0; i < h1.length; i++){
            h1[i].innerHTML = "修改后的标题" + (i+1);
        }
        
    </script>
</body>

事件监听

在这里插入图片描述
在这里插入图片描述
代码示例

<body>
    <input type="button" id="btn1" value = "点我一下试试">
    <input type="button" id="btn2" value = "点我">

    <script>
        // 给按钮添加点击事件,新方法,可以多次绑定同一事件
        document.querySelector('#btn1').addEventListener('click', () => {
            console.log('点就点呗');
        });
        document.querySelector('#btn1').addEventListener('click', () => {
            console.log('再点一次试试');
        });
        // 给按钮添加点击事件,老方法,只能绑定一次事件,会覆盖
        document.getElementById('btn2').onclick = function() {
            console.log('老方法,只能绑定一次事件,会覆盖');
        }
        document.getElementById('btn2').onclick = function() {
            console.log('老方法,把前面的覆盖了');
        }
        
    </script>
</body>
    <script>
        // 给上述表格的数据行添加事件监听,实现鼠标进入后变色,使用新语法
        let trs = document.querySelectorAll('p');
        for(let i = 0; i < trs.length; i++) {
            trs[i].addEventListener('mouseenter', function() {
                this.style.backgroundColor = 'yellow';
            });
            trs[i].addEventListener('mouseleave', function() {
                this.style.backgroundColor = 'white';
            });
        }
    </script>

常见事件
在这里插入图片描述
js代码的优化:大量的监听事件代码功能可复用,减小编写数量

相关文章:

  • 奇安信二面
  • 北京大学第六弹:《DeepSeek应用场景中需要关注的十个安全问题和防范措施》
  • 【论文阅读】Adversarial Patch Attacks on Monocular Depth Estimation Networks
  • 硬件地址反序?用位操作为LED灯序“纠偏”。反转二进制数即可解决
  • TCP/IP协议中三次握手(Three-way Handshake)与四次挥手(Four-way Wave)
  • 2025年跨网文件交换系统推荐:安全的内外网文件传输系统Top10
  • 01-1 音视频知识学习(音频)
  • 【Java代码审计 | 第十四篇】MVC模型、项目结构、依赖管理及配置文件概念详解
  • 九、Prometheus 监控windows(外部)主机
  • How To Change Windows VPS Password
  • 【k8s001】K8s架构浅析
  • 网页制作16-Javascipt时间特效の设置D-DAY倒计时
  • 基于KL-ISODATA算法的电力负荷数据场景聚类matlab仿真
  • ElasticSearch组合查询及实际应用
  • 交换机控制软件的实现步骤猜测
  • 安装教程整理 docker linux 虚拟机
  • Podman 1panel中容器管理docker替换为Podman
  • Linux shell 进度条
  • Nerf较真系列
  • Mybatis3 批量执行操作
  • 17家A股城商行一季报扫描:青岛银行营收增速领跑,杭州银行净利增速领跑
  • 韩国代总统、国务总理韩德洙宣布辞职,将择期宣布参选总统
  • 先去上海后赴北京,苏中城市泰州为何接连拥抱顶流“大城”?
  • 全国人大常委会关于授权国务院在中国(新疆)自由贸易试验区暂时调整适用《中华人民共和国种子法》有关规定的决定
  • 浦发银行一季度净利175.98亿增1.02%,不良率微降
  • 湖南华容县通报“大垱湖水质受污染”,爆料者:现场已在灌清水