JAVAweb学习笔记——JS

1、JS

(1)核心语法

(a)引入方法

首先是内部脚本:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS学习</title>
    <script>
        // 弹窗
        alert("hello");
    </script>
</head>
<body>
<script>
    // 弹窗
    alert("hello world");
</script>
</body>
<script>
    // 弹窗
    alert("world");
</script>
</html>

会弹出3次!

外部引入:

创建一个后缀为js的文件:

复制代码
alert("hello world");

以下是全部代码:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS学习</title>
</head>
<body>
<!--<script>-->
<!--    // 弹窗-->
<!--    alert("hello world");-->
<!--</script>-->

<script src="js/learn.js"></script>
</body>

</html>

结果如下:

总结:

(b)变量

(c)数据类型

(d)函数

(e)自定义对象

复制代码
<script>
    let user={
        name:'张三',
        age: 18,
        sex:'男',
        sing(){
            alert(this.name+'会唱歌');
        }
    }
    user.sing();
</script>

(f)JSON

复制代码
将js对象转换成json字符串:

<script>
    let person={
        name:'张三',
        age: 18,
        sex:'男',
    }

    alert(JSON.stringify(person));
</script>

同理,如果想获取JSON下某个属性对应的值时,应该先将其转换成js对象,之后获取

(g)DOM

querySelector获取到的是匹配到的第一个对象:

复制代码
<body>
    <h1 id="test1">111</h1>
    <h1>222</h1>
    <h1>333</h1>

    <script>
        let h1=document.querySelector('#test1');
        // innerHTML:设置或返回元素的内容
        alert(h1.innerHTML);
        // 将上述id=test1的输入111改为了下面的内容
        h1.innerHTML="输入111";
    </script>
</body>

返回h1此时的内容

返回修改后的内容

使用querySelectorAll时表示选取的是数组,在下面调用的时候要用数组的格式

(h)事件监听

因此第二种方法不推荐,绑定同一事件容易被覆盖

习题:

复制代码
<script>
    let d=document.querySelectorAll('tr');
    //为每一个tr标签添加鼠标滑入事件
    for(let i=0;i<d.length;i++){
        d[i].addEventListener('mouseover',function (){
            d[i].style.backgroundColor='#f2e2e2';
        });
        //为每一个tr标签添加鼠标滑出事件
        d[i].addEventListener('mouseout',function (){
            d[i].style.backgroundColor='#fff';
        });
    }
</script>

结果和上图一样,鼠标到那一行哪一行就变为红色!

从js文件引入另一个js文件:

将引入的文件先要"暴露"

在要用的文件中进行引入

之后在html引入js时,需要将以上声明为模块化js:

相关推荐
程序猿零零漆3 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十二)Spring整合web环境
学习·spring
Van_captain10 分钟前
rn_for_openharmony常用组件_Tabs选项卡
javascript·开源·harmonyos
赵民勇11 分钟前
ES6中的const用法详解
javascript·es6
深蓝海拓12 分钟前
PySide6从0开始学习的笔记(二十三)使用QRunnable在线程池中执行临时任务
笔记·python·qt·学习·pyqt
CCPC不拿奖不改名13 分钟前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
三档程序员16 分钟前
适配龙芯笔记之 libthriftnb.so 链接libevent失败
笔记
声网16 分钟前
如何用 Fun-ASR-Nano 微调一个「听懂行话」的语音模型?丨Voice Agent 学习笔记
笔记·学习·xcode
Van_captain29 分钟前
React Native for OpenHarmony Toast 轻提示组件:自动消失的操作反馈
javascript·开源·harmonyos
Van_captain38 分钟前
React Native for OpenHarmony Modal 模态框组件:阻断式交互的设计与实现
javascript·开源·harmonyos
xkxnq38 分钟前
第一阶段:Vue 基础入门(第 14天)
前端·javascript·vue.js