HTML+JavaScript-01

这篇具有很好参考价值的文章主要介绍了HTML+JavaScript-01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

之前有一篇JavaWeb-JavaScript中只是简单介绍了一点JavaScript的内容,这篇笔记算是续写的,但是从01开始编号。

引入js文件

html、css、js俗称前端三剑客,一般都是分开写,先写框架、再写css、最后写js。因此在工程量大的情况下,一个页面可以分为三个文件(.html/.css/.js)。引入对应的js文件也就显得格外重要。因为JavaScript 是一门跨平台、面向对象的脚本语言,它能使网页可交互(例如拥有复杂的动画,可点击的按钮,通俗的菜单等)。

示例

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 1、引入js文件 -->
    <script src="./js/00-javaScript.js"></script>
</head>

<body>
    <!-- 2、脚本块:把script标签写在body中,一般都在div下面 -->
    <script>

    </script>
</body>

</html>

.js文件中直接写函数即可

基本概念及用法

注释

Javascript 注释的语法和 C++ 或许多其他语言类似:

JSCopy to Clipboard

// 单行注释

/* 这是一个更长的,
   多行注释
*/

/* 然而,你不能,/* 嵌套注释 */ 语法错误 */

在代码执行过程中,注释将被自动跳过(不执行)。

声明

JavaScript 有三种声明方式。

  • var

    声明一个变量,可选初始化一个值。

  • let

    声明一个块作用域的局部变量,可选初始化一个值。

  • const

    声明一个块作用域的只读常量。

定义变量的注意事项

1、不能重复定义

2、名称不能使用关键字

3、由数字字母下划线组成

4、不能以数字开头

5、尽量采用驼峰命名法

​ 驼峰分为大驼峰和小驼峰

​ 大驼峰所有单词的首字母都大写 比如定义一个男学生的年龄 let StudentAgeBoy=10;

​ 小驼峰首个单词的首字母小写其余单词的首字母大写变量一般使用小驼峰 如 let studentAgeBoy=18;

基本数据类型

在JavaWeb-JavaScript这篇博客中有提到过,但是官网上有七种数据类型,这里在重新写一下(补充BigInt和Symbol)

JavaScript中分为:原始类型和引用类型

基本数据类型的主要特点是赋值方式是传值,并且值存在栈中

原始类型 描述
Number 数字(整数、小数、NaN(Not a Number))
String 字符串,单双引号都可
Boolean 布尔,true、false
null 对象为空
undefined 当声明的变量未初始化时,该变量的默认值是undefined
BigInt 任意精度的整数,可以安全地存储大整数,甚至可超过安全整数的现在
Symbol 代表,一种实例是唯一且不可改变的数据类型(防止命名冲突)
  • 注:使用typerof运算符可以获取数据类型

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

let a = true;
let b = 33;
let c = "hello world";
alert(typeof a);//boolean
alert(typeof b);//number
alert(typeof c);//string

引用数据类型

引用数据类型:object(对象,除了基本数据类型其他都是对象。数组是对象、函数是对象、正则表达式也是对象

引用数据类型的主要特点是赋值方式是传址,并且存在堆中。(因为引用数据类型的值的大小无法确定,要根据情况进行特定的配置)

代码

//创建一个对象
let obj1 = { key: 'value' };

//将obj1赋值给obj2,实际上是将引用传递给obj2
let obj2 = obj1;

obj1.key = "甲柒";
//由于obj1和obj2共享引用,所以obj2的值也会被修改
console.log(obj2.key);//甲柒

数据类型的转换

1、toString()方法转换

例如

let s = 998;//number
let a = s.toString();//将s转换为字符串类型并赋值给a

2、String(变量名)强制转换

例如

let b = 334;//number
let c = String(b);//强转为string

3、隐式转换(在js中,一个其他类型和字符串类型相加会获得一个新的字符串)

例如

let d = 521;//number
let f = d + "";//f为string类型

4、Number()强转

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let age = prompt("输入年龄");//默认输入的是字符串类型
let Age = Number(age);//将字符串类型强转为number类型
alert("age的数据类型是" + typeof age);//string
alert("Age的数据类型是" + typeof Age);//number

5、parseInt():向下取整

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let age = Number(prompt("输入年龄"));//输入小数22.33
let age1 = parseInt(age);//向下取整
alert("age的数据类型是" + typeof age);//number
alert("age向下取整后的值" + age1);//22

document

document.write:在浏览器页面进行打印

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

document.write("甲柒~~");

console.log:控制台打印输出

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

console.log("javaScript~~~");

prompt:在弹框中输入

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

prompt("请输入你的姓名");
prompt("请输入你的年龄", 18);
prompt("请输入你的姓名", "甲柒");
prompt("", "JavaScript!!!");

案例-1-成绩判断

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let score = Number(prompt("成绩"));
switch (score != null) {
    case (score>=90):
    alert("优秀");
        break;
    case (score>=80):
    alert("良好");
        break;
    case (score>=60):
    alert("中");
        break;
    case (score<60):
    alert("差");
        break;
    default:
        break;
}

案例-2-判断闰年

闰年:四年一闰百年不闰,四百年一闰。

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

// 弹窗输入年份
var year = prompt("请输入年份:");

// 判断是否是闰年的函数
function isLeapYear(year) {
    // 闰年的条件:
    // 1. 能被4整除,但不能被100整除
    // 2. 能被400整除
    return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
}

// 判断并弹出结果
if (isLeapYear(parseInt(year))) {
    alert(year + "年是闰年!");
} else {
    alert(year + "年不是闰年!");
}

案例-3-判断某年某月的天数

1、3、5、7、8、10、12:31天

4、6、9、11:30天

2:分为闰年、平年

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

var year = prompt("请输入年份:");
var month = prompt("请输入月份:");

switch (month != null && year != null) {
    case (month == 1):
    case (month == 3):
    case (month == 5):
    case (month == 7):
    case (month == 8):
    case (month == 10):
    case (month == 12):
        alert(year + "年" + month + "月有 " + "31" + " 天。");
        break;
    case (month == 4):
    case (month == 6):
    case (month == 9):
    case (month == 11):
        alert(year + "年" + month + "月有 " + "30" + " 天。");
        break;
    case (month == 2):
        if ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) {
            alert(year + "年" + month + "月有 " + "29" + " 天。");
        } else {
            alert(year + "年" + month + "月有 " + "28" + " 天。");
        }
        break;
    default:
        break;
}

案例-4-能否被3、5、7整除

注意顺序:先判断同时满足三种情况,然后判断同时满足两种情况,最后判断满足一种情况

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let num = prompt("请输入一个数");
switch (num != null) {
    case num % 3 == 0 && num % 5 == 0 && num % 7 == 0:
        alert(num + "可以被3、5、7整除");
        break;
    case num % 3 == 0 && num % 5 == 0:
        alert(num + "可以被3和5整除");
        break;
    case num % 3 == 0 && num % 7 == 0:
        alert(num + "可以被3和7整除");
        break;
    case num % 5 == 0 && num % 7 == 0:
        alert(num + "可以被5和7整除");
        break;
    case num % 3 == 0:
        alert(num + "可以被3整除");
        break;
    case num % 5 == 0:
        alert(num + "可以被5整除");
        break;
    case num % 7 == 0:
        alert(num + "可以被7整除");
        break;
}

从一个数组中获取随机值

使用Math.random()

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

先声明一个数组

const array = ['a', 'b', 'c', 'd', 'e'];

使用Math.random()函数对数组的下标进行随机取值,注意要对随机值进行取整处理,可以使用parseInt()或者Math.floor()

Math.random()生成0到1之间的随机数,并与数组长度相乘,数字总是在0到数组长度之间返回,这被称为随机指数。Math.floor(),对于浮动的下限值返回整数。

function randomNum() {
    const array = ['a', 'b', 'c', 'd', 'e'];
    let arrayIndex = parseInt(Math.random() * array.length);
    let arrayRandom = array[arrayIndex];
    alert(array+"中的随机数为:"+arrayRandom);
}
randomNum();

parseInt()Math.floor() 都是 JavaScript 中用于数值处理的函数,但它们的行为有所不同。

  1. parseInt() 函数用于将字符串转换为整数。如果字符串的开头是数字,parseInt() 将返回这个数字的整数形式。如果字符串的开头不是数字,parseInt() 将返回 NaN。例如:
parseInt('123abc'); // 返回 123
parseInt('abc123'); // 返回 NaN

此外,parseInt() 还接受第二个参数,表示要转换的数字的基数。例如:

parseInt('10', 2); // 返回 2 (二进制中10表示为1010)
  1. Math.floor() 函数用于将一个数值向下取整。也就是说,它会返回不大于给定数值的最大整数。例如:
Math.floor(4.7); // 返回 4
Math.floor(-4.7); // 返回 -5

注意,Math.floor() 只处理数值,如果你尝试将非数值传递给它,它可能会返回 NaN

在某些情况下,你可能会发现 Math.floor() 的行为类似于 parseInt(),尤其是当你处理的数字接近于整数时。然而,它们之间的主要区别在于如何处理非整数部分:Math.floor() 会完全忽略它们,而 parseInt() 则会简单地将其视为0。

参考文章:https://juejin.cn/post/7118593994212245518

Math对象

常用函数 属性
random 随机生成0-1的随机数[0, 1)
ceil 向上取整
floor 向下取整
max 找最大值
min 找最小值
pow 幂运算
abs 求绝对值
round 四舍五入

注:随机生成一个n-m的整数Math.floor(Math.random() * (m - n + 1)) + n;

示例-1

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let a = Math.random();//随机生成一个0-1的小数
console.log("a=" + a);//[0,1)

let a1 = Math.random() * 10;//随机生成一个0-10的小数
console.log("a1=" + a1);//[0,10) 小数

let a2 = Math.floor(11.9);//floor 向下取整
console.log("a2=" + a2);//11

let a3 = Math.floor(Math.random() * 11);//生成0-10的整数
console.log("a3=" + a3);//[0,10] 整数

let a4 = Math.floor(Math.random() * 6) + 5;//随机生成5-10的整数
console.log("a4=" + a4);//[5,10]

// 随机生成一个n-m的整数
// Math.floor(Math.random() * (m - n + 1)) + n;

// 随机生成一个10-30的整数
let a5 = Math.floor(Math.random() * (30 - 10 + 1)) + 10;
console.log("a5=" + a5);//[10,30]

let a6 = Math.ceil(13.09);//向上取整
console.log("a6=" + a6);//14

示例-2

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

let a7 = Math.max(1, -2, 3, 4, 5, 6, 99, 9, 45);
let a8 = Math.min(1, -2, 3, 4, 5, 6, 99, 9, 45);
console.log("a7=" + a7);//99
console.log("a8=" + a8);//-2

const arr = [33, 22, 55, 66, 77, -99];
let a9 = Math.max(...arr);//...展开运算符
console.log("a9=" + a9);//77

let a10 = Math.pow(2, 4)//求2的4次方
console.log("a10=" + a10);//16

let a11 = 2 ** 3;//2的3次方
console.log("a11=" + a11);//8

let a12 = Math.abs(-19);//求绝对值
console.log("a12=" + a12);//19

console.log(Math.round(3.14159));//四舍五入 3 

注:...为展开运算符

展开语法

展开语法 (Spread syntax), 可以在函数调用/数组构造时,将数组表达式或者 string 在语法层面展开;还可以在构造字面量对象时,将对象表达式按 key-value 的方式展开。(译者注: 字面量一般指 [1, 2, 3] 或者 {name: "mdn"} 这种简洁的构造方式)

详情:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Spread_syntax#%E8%AF%AD%E6%B3%95

案例-5-生成验证码

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

function captcha() {
    const characters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
        'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
        'w', 'x', 'y', 'z', 1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const newCode = [];
    for (let i = 0; i <= 3; i++) {
        let index = Math.floor(Math.random() * characters.length);
        newCode.push(characters[index]);
    }
    return newCode;
}
alert("本次验证码:" + captcha());

日期对象Date

常用方法

方法名 作用 取值范围
getFullYear() 获取年份 获取四位年份
getMonth() 获取月份 0-11
getDate()
getDay() 获取星期 0-6
getHours() 获取小时 0-23
getMinutes() 获取分钟 0-59
getSeconds() 获取秒 0-59

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

const date = new Date();//实例化对象

let year = date.getFullYear();
console.log(year + "年");//年
console.log(date.getMonth() + 1 + "月");//月
console.log(date.getDate() + "日");//日
console.log("星期" + date.getDay());//星期
console.log(date.getHours() + "时");//时
console.log(date.getMinutes() + "分");//分
console.log(date.getSeconds() + "秒");//秒

格式化日期对象

自定义函数格式化时间

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

function getDate() {
    //创建时间对象
    const date = new Date();
    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    let date1 = date.getDate();
    let hours = date.getHours();
    hours = hours < 10 ? "0" + hours : hours
    let minute = date.getMinutes();
    minute = minute < 10 ? "0" + minute : minute;
    let second = date.getSeconds();
    second = second < 10 ? "0" + second : second;

    return year + "年" + month + "月" + date1 + "日" + "  " + hours + ":" + minute + ":" + second
}
console.log(getDate());

使用封装过的方法

方法名 格式
toLocaleString() 2022/4/1 09:33:34
toLocaleDateString() 2022/4/1
toLocaleTimeString() 10:09:31

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

代码

const date = new Date();//实例化对象
console.log(date.toLocaleString());//2024/1/20 17:00:42
console.log(date.toLocaleDateString());//2024/1/20
console.log(date.toLocaleTimeString());//17:00:42

时间戳

时间戳:是指1970年01月01日00时00分00秒到现在的毫秒数

获取时间戳

示例

HTML+JavaScript-01,JavaWeb,html,javascript,前端

方法一

const date = new Date();
console.log(date.getTime());

方法二

console.log(+new Date());

方法三文章来源地址https://www.toymoban.com/news/detail-812313.html

console.log(Date.now());

到了这里,关于HTML+JavaScript-01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 数据类型 数据类型-字符型 数据类型-数值型 数据类型-布尔型 数据类型-其它类型 变量 转义字符 运算

    2024年02月20日
    浏览(70)
  • 前端= 结构(HTML)+ 样式(CSS)+ 行为(JavaScript)

    前端开发确实涵盖了行为(JavaScript)、样式(CSS)和结构(HTML)这三个主要方面。这三个方面在前端开发中密切协作,共同构建用户界面和用户体验。 结构(Structure):HTML 是用于定义页面结构的标记语言。通过使用 HTML 标签,可以创建网页的基本骨架,包括标题、段落、

    2024年02月13日
    浏览(63)
  • [前端开发] 常见的 HTML CSS JavaScript 事件

    代码示例指路 常见的 HTML、CSS、JavaScript 事件代码示例 在 Web 开发中,事件是用户与网页交互的重要方式之一。通过事件,用户可以与页面元素进行交互,触发相应的功能或效果。本文将介绍常见的 HTML、CSS、JavaScript 事件,以及事件对象和事件代理的概念。 鼠标事件 鼠标事

    2024年02月19日
    浏览(56)
  • 前端随笔:HTML/CSS/JavaScript和Vue

    最近因为工作需要,需要接触一些前端的东西。之前虽然大体上了解过 HTML 、 CSS 和 JavaScript ,也知道 HTML 定义了内容、 CSS 定义了样式、 JavaScript 定义了行为,但是却没有详细的学习过前端三件套的细节。而最近的工作中需要使用 Vue ,并且想到未来的工作中使用 Vue 能够更

    2024年02月16日
    浏览(44)
  • 前端:运用HTML+CSS+JavaScript实现拼图游戏

    前一段时间突然来了一个想法,就是运用前端知识实现一个拼图游戏,但是不知道具体怎样实现。今天,想到既然实现不了现实中我们看到的那种拼块,那么就用正方形来代替吧! 效果如下: 想到就是当小的图片块放到合适的位置上时,表示拼图完成。 1. 前端布局 运用cs

    2024年02月08日
    浏览(62)
  • 前端基础自学整理|HTML + JavaScript + DOM事件

    目录 一、HTML 1、Html标签 2、Html元素 3、基本的HTML标签 二、CSS 样式 层叠样式表 三、JavaScript 使用示例 四、HTML DOM  通过可编程的对象模型,javaScript可以: window document 1、查找HTML元素 2、操作HTML元素 获取元素的属性 四、HTML DOM事件 ⚠️是DOM提供的API Html是用来描述网页的一

    2024年02月22日
    浏览(49)
  • 前端技术Html,Css,JavaScript,Vue3

    1.基本标签 2.文本格式化 3.链接 4.图片 5.无序列表 6.有序列表 7.表格 8.表单 1.选择器 2.文本和字体 3.链接 4.隐藏 5.定位position 6.浮动 7.对齐 8.图像 1.输出 2.函数 3.常用事件 4.DOM 5.改变Html 6.DOM 元素 (节点) 尾部创建新的 HTML 元素 (节点) - appendChild() 头部创建新的 HTML 元素 (节点)

    2024年02月13日
    浏览(53)
  • 前端(html+css+javascript)作业--展现家乡的网页

    期末期间,老师布置了前端作业,现在放到这里,给各位同志参考。 桂平市是广西壮族自治区的一个美丽的城市,拥有丰富的历史文化和自然景观,属于贵港市管辖,那为什么是看起来是市级而不是县级,其实他就是个 市级县,比县大一些人口多一些就叫做市了。 此网页不

    2024年01月17日
    浏览(50)
  • 建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

    建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— 网络协议 建站系列(四)— Web服务器之Apache、Nginx 建站系列(五)— 前端开发语言之HTML、CSS、JavaScript 建站系列(六)— 后端开发语言 建站系列(七)— 常用前后端框架

    2024年02月09日
    浏览(56)
  • 【前端】javascript+html+css 家具销售网站(代码+报告)

    👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化【获取源码+商业合作】 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 整个网页在头部部分,定义了字符编码、

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包