JavaScript基础Ⅱ

目录

第2章 JavaScript基础语法(掌握)

11-JS代码调试

12-JS函数

第3章 JS事件

14-事件的绑定方式

常用事件(了解)

15-常用事件

第4章 JS内置对象(掌握)

16-数组

17-日期

18-数学运算

19-数字

20-全局函数


第2章 JavaScript基础语法(掌握)

11-JS代码调试

12-JS函数

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>12-JS函数</title>
</head>
<body>
<!--
JS函数
    1. 普通函数 格式 function 函数名(参数){return}
    2. 匿名函数 格式 function(参数){return}
注意
    a.普通函数和匿名函数中都有一个参数数组对象 arguments
    b. JS函数的调用只以函数名区分,与参数无关

-->
<script >
    //1. 普通函数 格式 function 函数名(参数){return}
    function  myf1(name){
        console.log(name);
        console.log(arguments);//当前方法接收的参数数组
        return name+",您好";
    }
	
    //调用普通函数
    let str = myf1("李苏");
    console.log(str);

    //2. 匿名函数 格式 function(参数){return}
    let myf2 = function  (name){
        console.log(name);
        console.log(arguments);//当前方法接收的参数数组
        return name+",您好";
    }
	
    //调用匿名函数
    console.log(typeof myf2);//function
    let str2 = myf2("郝哲");
    console.log(str2);

    //a,b  JS函数的调用只以函数名区分,与参数无关
    let str3 = myf1("李苏1","李苏2","李苏3");
    console.log(str3);
    let str4 = myf2("李苏11","李苏22","李苏33");
    console.log(str4);


</script>
</body>
</html>

第3章 JS事件

14-事件的绑定方式

Js可以监听用户的行为,并结合函数来完成用户交互功能.

1.命名函数 2.匿名函数

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>14-事件的两种绑定方式</title>
</head>
<body>
<!--
事件的绑定方式
    1. 命名函数 格式 onEvent=函数 this指的是window对象,使用自己需要传递
    2. 匿名函数 格式 onEvent=函数 this指的是当前对象自己
-->

<p onclick="myf1(this)" title="我是命名">1. 命名函数</p>
<p id="myp" title="我是匿名">2. 匿名函数</p>

<script >
    //1. 命名函数 格式 onEvent=函数
    function myf1(ele) {
        console.log(this);//widow
        console.log(this.title);//undefined
        console.log(ele);//<p onclick="myf1(this)" title="我是命名">1. 命名函数</p>
        console.log(ele.title);
        console.log("命名函数执行");
    }
    //2. 匿名函数 格式 onEvent=函数
    document.querySelector("#myp").onclick = function () {
        console.log(this);//<p id="myp" title="我是匿名">2. 匿名函数</p>
        console.log(this.title);
        console.log("匿名函数执行");
    }

	

</script>
</body>
</html>

常用事件(了解)

15-常用事件

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>15-常用事件</title>
</head>
<body>
<!--
常用事件
    1. onload 页面加载完成
    2. onfocus 获取焦点
    3. onblur 失去焦点
    4. onchange 表单控件的值改变时
    5. onclick 鼠标单击

-->

姓名 <input type="text" onfocus="myfocus()"><br/>
学历
<select name="edu" id="edu" >
    <option value="0">请选择</option>
    <option value="1">本科</option>
    <option value="2">大专</option>
</select>
<br/>
<button type="button" id="btn" onclick="myclick()">按钮</button>
<script >
    //1. onload 页面加载完成
    window.onload = function () {
        console.log("页面加载完成");
    }
	
    //2. onfocus 获取焦点
    function myfocus() {
        console.log("输入框获取焦点");
    }
	
    //3. onblur 失去焦点
    document.querySelector('input[type="text"]').onblur = function () {
        console.log("输入框失去焦点");
        console.log(this.value);//输入框中的输入字符
    }
	
    //4. onchange 表单控件的值改变时
    document.querySelector("#edu").onchange = function () {
        console.log("下拉列表值改变");
        console.log(this.value);
    }
	
    //5. onclick 鼠标单击
    function myclick() {
        //把输入框的值赋值给下拉列表
        document.querySelector("#edu").value = document.querySelector('input[type="text"]').value;
    }
	
</script>
</body>
</html>

第4章 JS内置对象(掌握)

16-数组

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>16-数组</title>
</head>
<body>
<!--

JS数组的特点:
    1.JS是弱类型,数组元素类型任意
    2. JS的数组类似于Java的集合,长度可变,所以有时又把js数组叫做数组或集合
	
数组
    要求能够查询w3c手册完成如下功能
        1. 创建数组 []
        2. 数组合并 concat
        3. 添加元素
            数组头添加 unshift
            数组尾添加 push
        4. 删除元素
            数组头删除 shift
            数组尾删除 pop
        5. 数组元素拼接为字符串 join(分隔符)
        6. 排序数组元素 sort




-->
<script >
    //1. 创建数组
    let arr1 = ["中国",666,true,null,undefined];
    let arr2 = new Array("您好",123,false,null);
    let arr3 = [5,3,1,4,7];
	
    //2. 数组合并
    console.log(arr1.concat(arr2));

    //3. 添加元素
    arr1.unshift("头元素");//从头添加
    arr1.push("尾巴元素");//尾巴添加
    console.log(arr1);

    //4. 删除元素
    arr1.shift();//删除头元素
    arr1.pop();//删除尾元素
    console.log(arr1);
	
    //5. 数组元素拼接为字符串
    console.log(arr3.join("-"));//用-拼接数组元素为字符串

    //6. 排序数组元素
    console.log(arr3.sort());//默认升序
    arr3.sort(function (a,b) {
        return a-b;//升序
    });
    console.log(arr3);
    arr3.sort(function (a,b) {
        return b-a;//降序
    });
    console.log(arr3);


</script>
</body>
</html>

17-日期

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>17-日期</title>
</head>
<body>
<!--
日期
    查询手册完成:
    1. 创建日期对象
    2. 获取当前时间 转为字符串 格式 yyyy-MM-dd HH:mm:ss.SSS

小扩展:
      字符串补位方法 padStart(位数,填充值) 例如要把7补齐为07 "7".padStart(2,"0")
      (了解)字符串模板 `字符串` 内部可以使用${变量名称} 取变量值. 注意${}与jsp中的${}冲突.
-->

<script >
    function getDateStr() {
        //1. 创建日期对象
        let d = new Date();//获取当前日期对象
        //2. 获取当前时间 转为字符串 格式 yyyy-MM-dd HH:mm:ss.SSS
        let fullYear = d.getFullYear();//年
        let month = new String(d.getMonth()+1).padStart(2,"0");//月
        let date = new String(d.getDate()).padStart(2,"0");//日
        let hours = new String(d.getHours()).padStart(2,"0");//时
        let minutes = new String(d.getMinutes()).padStart(2,"0");//分
        let seconds = new String(d.getSeconds()).padStart(2,"0");//秒
        let milliseconds = new String(d.getMilliseconds()).padStart(3,"0");//毫秒

        let dateStr = `${fullYear}-${month}-${date} ${hours}:${minutes}:${seconds}.${milliseconds}`;
        console.log(dateStr);
        return dateStr;
    }
    getDateStr();//调用方法


</script>
</body>
</html>

18-数学运算

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>18-数学运算</title>
</head>
<body>
<!--
数学运算
    查询手册完成
    1. 四舍五入 round(x) 把数四舍五入为最接近的整数
    2. 向下取整 floor(x) 对数进行下舍入。 地板
    3. 向上取整 ceil(x) 对数进行上舍入。
    4. 产生随机数 random() 返回 0 ~ 1 之间的随机数。
    5. 产生 [1,10]的随机整数

小扩展:
    parseInt(x) 对x转为整数,有小数部分直接舍去. 功能类似 floor(x)
    random() 返回 [0,1) 之间的随机数。 [0,1) 左闭右开区间,包含0不包含1
    在任何语言的随机数中都是左闭右开.

-->
<script >
    let n = 1234.567
    //1. 四舍五入
    console.log(Math.round(n));//1235
    //2. 向下取整
    console.log(Math.floor(n));;//1234
    //3. 向上取整
    console.log(Math.ceil(1234.0001));//1235
    //4. 产生随机数
    console.log(Math.random());//随机产生[0,1)小数
    //5. 产生 [1,10]的随机整数
    //[0,1) *10 --> [0,10) +1 --> [1,11)  floor-->  [1,10]
    console.log(Math.floor(Math.random() * 10 + 1));

</script>
</body>
</html>

19-数字

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>19-数字</title>
</head>
<body style="width: 100vw;height: 100vh;" bgcolor="#f5f5dc" onclick="changeColor()">
<!--
数字
    1. 会使用二进制,八进制,十六进制
        js中使用 0b,0o,0x 前缀分别表示二进制,八进制,十六进制
    2. 会把数字格式为人民币格式 如9.85
        toFixed(小数位数) 把数字四舍五入转换为字符串,保留小数点后指定位数。
    3.  把数字转为16进制字符
        toString(进制) 把数字转换为字符串,使用指定的进制。
    4. 会产生随机颜色
    5. 点击页面,背景切换随机颜色
小扩展:
    vw 屏幕宽度百分比
    vh 屏幕高度百分比
    document.querySelector(css选择器) 根据css选择器获取匹配到的一个标签

小作业:
    每隔五秒页面自动切换一个随机颜色
    setInterval(函数,间隔时间) 每隔固定间隔时间(毫秒)执行一次函数
-->
<script >
    //1. 会使用二进制,八进制,十六进制
    let n2 = 0b11;
    console.log(n2);//3
    let n8 = 0o11;
    console.log(n8);//9
    let n16 = 0x11;
    console.log(n16);//17
    //2. 会把数字格式为人民币格式 如9.85
    let price = 128.9867;
    console.log(price.toFixed(2));//128.99
    //3.  把数字转为16进制字符
    n16 = 255;
    console.log(n16.toString(16));//ff

    //4. 会产生随机颜色 #ff00ff
    //[0,1) *0xffffff --> [0x000000,0xffffff) round--> [0x000000,0xffffff]
    let colorStr = "#"+Math.round(Math.random() * 0xffffff).toString(16);//产生随机颜色
    console.log(colorStr);

    //5. 点击页面,背景切换随机颜色
    function changeColor(){
        let colorStr = "#"+Math.round(Math.random() * 0xffffff).toString(16);
		document.querySelector("body").bgColor = colorStr;//改变body的背景颜色
    }

</script>
</body>
</html>

20-全局函数

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>20-全局函数</title>
</head>
<body>
<!--
全局函数
    1. 对数据进行加密
        encodeURI() 把字符串编码为 URI。
    2. 对加密数据进行解密
        decodeURI() 解码某个编码的 URI。
    3. 把字符串当做js表达式来执行
        eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行
-->
<script >
    //1. 对数据进行编码
    let str = "今天下午两点偷袭珍珠";
    let enstr = encodeURI(str);//urI编码
    console.log(enstr);
    //2. 对数据进行解码
    let res = decodeURI(enstr);//urI解码
    console.log(res);
    //3. 把字符串当做js表达式来执行
    let s = "1+2*3-4/2";
    let result = eval(s);//把字符串当做js代码执行
    console.log(result);//5


</script>
</body>
</html>

更多内容敬候 JavaScript高级Ⅰ

欢迎大家指点评论~ 点赞+关注⭐⭐⭐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436001.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青少年如何从零开始学习Python编程?有它就够了!

文章目录 写在前面青少年为什么要学习编程 推荐图书图书特色内容简介 推荐理由粉丝福利写在最后 写在前面 本期博主给大家带来一本非常适合青少年学习编程的图书&#xff0c;快来看看吧~ 青少年为什么要学习编程 青少年学习编程&#xff0c;就好比在他们年轻时就开始掌握一种…

基于单片机的医院输液系统设计

目 录 摘 要 Ⅰ Abstract Ⅱ 引 言 1 1系统方案设计与论证 3 1.1系统硬件结构总体设计方案 3 1.2点滴速度测量电路方案的选择与论证 3 1.3液面检测电路方案的选择与论证 4 1.4通过电机控制滴速电路的方案与论证 4 1.5显示器接口电路方案选择与论证 5 1.6键盘接口电路方案选择与…

1.2_3 TCP/IP参考模型

文章目录 1.2_3 TCP/IP参考模型&#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型&#xff08;二&#xff09;5层参考模型&#xff08;三&#xff09;5层参考模型的数据封装与解封装 1.2_3 TCP/IP参考模型 &#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型 TCP/I…

Xilinx 7系列 FPGA硬件知识系列(一)——FPGA选型参考

目录 1.1 Xilinx-7系列产品的工艺级别 ​编辑1.2 Xilinx-7系列产品的特点 1.2.1 Spartan-7系列 1.2.2 Artix-7系列 1.2.3 Kintex-7系列 1.2.4 Virtex-7系列 1.3 Xilinx-7系列FPGA对比 1.3.1 DSP资源柱状图 ​1.3.2 Block RAM资源柱状图 ​1.3.3 高速串行收…

Neoverse CSS N3:实现市场领先能效的最快途径

区分老的架构 从云到边缘&#xff0c;Arm Neoverse 提供无与伦比的性能、效率、设计灵活性和 TCO 优势&#xff0c;正在颠覆传统基础设施芯片。 我们看到云和超大规模服务运营商正在推动更高的计算密度。随着 128 核心 CPU 设计上市&#xff08;Microsoft Cobalt、阿里巴巴 Y…

搭建Zabbix监控系统

概述 Zabbix是一个基于Web界面的企业级开源监控套件&#xff0c;提供分布式系统监控与网络监视功能。具 备主机的性能监控&#xff0c;网络设备性能监控&#xff0c;数据库性能监控&#xff0c;多种告警方式&#xff0c;详细报表、图表的绘制等 功能。监测的对象可以是Linux或 …

PB-03F 模组烧录流程

文章目录 前言一、准备1. 器材2. 软件&#xff08;1&#xff09;点击下面链接下载固件烧录工具&#xff08;2&#xff09;点击下面链接下载固件包&#xff08;3&#xff09;解压文件 二、烧录1. 打开PhyPlusKit...软件2. 选择串口及波特率并打开串口3. 选择文件并输入MAC地址4.…

【Flink网络数据传输(3)】RecordWriter的能力:实现数据分发策略或广播到下游InputChannel

文章目录 一.创建RecordWriter实例都做了啥1. 根据recordWrites数量创建不同的代理类2. 创建RecordWriters3. 单个RecordWriter的创建细节 二. RecordWriter包含的主要组件1. RecordWriter两种实现类分别实现分发策略和广播2. ChannelSelectorRecordWriter的发送策略2.1. Chann…

Qwen-Agent自定义Tool

qwen-agent项目部署 1、下载qwen-agent https://github.com/QwenLM/Qwen-Agent2、安装依赖环境 pip3 install -r requirements.txt自定义Tool cd qwen_agent/tools参考其他的工具&#xff0c;我这里创建了一个查询手机号归属地的工具get_mobile_address.py&#xff1a; im…

php常见的45个漏洞及解决方案

[TOC]&#xff08;太多了&#xff0c;目录只列出最重要的几个&#xff0c;剩下的同学们自己翻&#xff09; PHP作为一种广泛应用的服务器端脚本语言&#xff0c;在历史上曾曝出过多种安全漏洞。以下是一些PHP漏洞的类别及其简要解释&#xff0c;以及如何解决这些问题&#xff1…

vue3引入字体

一、首先挑选字体 推荐个网站&#xff1a; DaFont - Download fonts 这个网站里面有很多字体供我们下载。点击圈起来的地方可以选择不同的字体样式预览。 英文不好就翻译一下吧&#xff08;狗头&#xff09;。 二、使用 比如我点击LCD类型的&#xff0c;数码类型的。 点击输…

视频剪辑如何提取伴奏?短视频剪辑有妙方

在多媒体处理中&#xff0c;音频的编辑和处理是不可或缺的一部分。很多时候&#xff0c;我们可能想要从一段视频或音频中提取伴奏&#xff0c;或者实现人声的分离&#xff0c;以便于进一步制作或混音。以下&#xff0c;将为您介绍一种简单而有效的方法来实现这一目标。 一、提取…

Docker部署ruoyi前后端分离项目

目录 一. 介绍前后端项目 二. 搭建局域网 2.1 创建网络 2.2 注意点 三. Redis 3.1 安装 3.2 配置redis.conf文件 3.3 测试 四. 安装MySQL 4.1 安装 4.2 配置my2.cnf文件 4.3 充许远程连接 五. 若依部署后端服务 5.1 数据导入 5.2 使用Dockerfile自定义镜像 5.3 运行…

MySQL-视图:视图概述、使用视图注意点、视图是否影响基本表

视图 一、视图概述二、使用视图注意点三、视图操作是否影响基本表 一、视图概述 在数据库管理系统中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;它并不实际存储数据&#xff0c;而是基于一个或多个实际表的查询结果。视图提供了一种对数据库中数据…

VUE——v-cloak指令

VUE——v-cloak指令 属性选择器&#xff0c;可以控制vue实例化完成前的dom样式 功能&#xff1a;利用vue实例化后v-cloak属性会消失&#xff0c;设置其样式 官网介绍 没用前效果&#xff1a;当vue没渲染完前&#xff0c;界面效果会看到{{aboutCloak}}字符&#xff0c;影响用户…

腾讯云99元一年服务器,真香购买链接来了

腾讯云服务器99元一年是真的吗&#xff1f;真的&#xff0c;只是又降价了&#xff0c;现在只要61元一年&#xff0c;配置为2核2G3M轻量应用服务器&#xff0c;40GB SSD盘&#xff0c;腾讯云百科txybk.com分享腾讯云官方活动购买链接 https://curl.qcloud.com/oRMoSucP 活动打开…

kafka进阶(二)

文章目录 前言一、Ack机制二、ISR集合总结 前言 本篇主要介绍kafka 的 Ack机制 和 ISR集合 一、Ack机制 Kafka提供了三种不同的应答机制&#xff08;ACK&#xff09;&#xff1a; acks0&#xff1a;这是最不可靠的模式。在这种模式下&#xff0c;生产者不会等待来自服务器的…

linux 安装OpenRestry

一、OpenRestry官网 openRestry中文官网 openRestry英文官网 二、OpenRestry搭建 可以参考官方提供的网址进行搭建&#xff1a;OpenRestry安装官网 ​ 三、开始安装 1、安装依赖库 yum install libtermcap-devel ncurses-devel libevent-devel readline-devel pcre-deve…

如何在“Ubuntu 服务器上使用MariaDB配置Galera集群”?

一、 安装好三个MariaDB数据库 如何使用“Ubuntu 20.04桌面版&#xff0c;安装MariaDB数据库“&#xff1f;win10系统&#xff1f;-CSDN博客 二、第一个node1&#xff0c;修改 sudo nano /etc/mysql/conf.d/galera.cnf [mysqld] binlog_formatROW default-storage-enginei…

微信小程序uniapp+django宠物医院挂号预约系统的 现41r1t

技术栈 小程序端运行软件 微信开发者工具/hbuiderx uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django/fla…