5.常量和数据类型(数字类型,字符串类型,模板字符串,布尔类型undefined,null检测数据类型),类型转化

什么是常量

常量就是不能改变的量,就是向计算机内存要一款空间然后存储的东西不能改变用const声明并且一定要初始化值

<!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></head><body></body><script>// 常量意思就是跟计算机内存要一个盒子,但是这个盒子里面的东西和变量不一样,变量盒子里面的东西可以来回变化//但是常量是不能改变盒子里的东西的,注意变量用let声明但是常量使用const声明,并且在声明的时候一定要赋值const PI = 3.141592653  // 注意常量一定要赋值并且一般都是全大写字母//注意常量PI不能修改,一旦在下面修改js就报错了console.log(PI)</script>
</html>

结果
在这里插入图片描述

数据类型

在js中数据类型主要分为两大类
基本数据类型和引用数据类型
B站的图片

  1. 数字类型:整数,正数,负数,小数,0
    下面的练习,弹窗输入圆的半径在画面上显示圆的周长和半径
    2.这里数字类型有一个特别的值是NaN(就是not a number的意思)就在计算错误的时候出现这个值,注意他是数字类型的哦!(比如你用字符串类型的数据和数字类型的数据进行相减操作就会出现Nan的错误)
<!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></head><body></body><script>// js是一门弱数据类型的语言 因为所有的都是用let来声明,就是只有你赋值了我才知道他是啥数据类型let r = prompt('请输入圆的半径')document.write('圆的周长是'+2*r*Math.PI+'圆的面积是'+r*r*Math.PI)</script>
</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></head><body></body><script>let my_str = 'hello world'let my_str1 = "hello world"let my_str2 = `hello world`let my_str3 = '123456'  // 注意这里数字加了引号就是字符串类型let my_str4 = ''  // 空串let my_str5 = '\''  // 注意使用反斜杠来输出转义单引号let my_str6 = '拼接' + '字符串'  // 使用加号来拼接字符串let age = 25 //用于下面拼接的变量let my_str7 = `${age} 岁了`  // 模板字符串外面必须是反引号就tab键上面英文模式内个console.log(my_str)console.log(my_str1)console.log(my_str2)console.log(my_str3)console.log(my_str4)console.log(my_str5)console.log(my_str6)console.log(my_str7)</script>
</html>

结果
在这里插入图片描述

布尔类型,undefined和null

布尔类型在js里面就两个true和false代表是和不是的意思
undefined就是在声明变量的时候,管计算机要了一款内存然后并没有告诉计算机里面装的是啥东西,就让计算机输出了,计算机也蒙了,就告诉你undefined意思是我是未定义的值,一般都是函数的时候少传了一个参数,会出现这个问题
null表示是赋值了但是啥也没有内容为空,注意null是有值的但是是空的,他是一个尚未创建的对象

<!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></head><body></body><script>// 布尔类型let my_bool = true  // 注意js里布尔类型只有true和false他俩是布尔类型的字面量console.log(my_bool)// undefined 未定义类型//啥时候会出现undefined呢?就是光声明了变量没告诉计算机这个变量里面存储的是啥东西就是undefinedlet my_undefinedconsole.log(my_undefined)console.log(my_undefined + 1 )  // 这里是Nan就是你让一个变量里面啥都没有的加一结果就不是数字是错误的// null 为空类型 就是里面有值的是一个还没有呗创建的对象,这里先用null代替的意思console.log(null + 1 )   // 这个是1 就说明null是有值的 其实这里是不太合理的,但是因为js的作者是用十天开发出来的所以会有很多bug// 检测数据类型console.log(typeof my_bool)</script>
</html>

执行结果
在这里插入图片描述

类型转化

基本上开发过程中一定会遇见类型的转化,后端传值肯定会出现和前端不一致的情况,还有就是表单里面提交的数据默认全都是字符串类型的哦

  1. 隐式转换
    直接引用B站的图把自己懒得写了没啥东西
    直接引用B站的图把自己懒得写了没啥东西
<!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></head><body></body><script>// 在表单里面串回来的数据全都是字符串类型的let my_data = prompt('请输入一个数字')console.log(typeof my_data)  // 这里输出是string// 隐式转换  某些运算符在执行的时候会自动的转化数据类型  比如加号 加号两边如果有一个是字符串类型的那么加号的另一边//就算是数字类型也会被转化成字符串类型console.log(my_data + 1)console.log(typeof(my_data + 1))// 显示转换  就是通过调用一些函数来转化数据的类型let my_srt = '123'console.log(typeof(Number(my_srt)))  // 转化为了数字类型 注意只能中转化数字奥你弄一个汉字他报错!console.log(parseInt('12.3***'))  // 这里输出12parseInt会把后面的.3***给去掉console.log(parseFloat('12.3***'))  // 输出12.3把后面的***去掉了</script>
</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></head><style>h1{text-align: center;}table{/* 合并边框 */border-collapse: collapse;height: 80px;margin: 0 auto;}th{padding: 10px 30px;}table,th,td{border: 1px solid black;text-align: center;}</style><body><h1>员工工资</h1><!-- <table><tr><th>员工姓名</th><th>这个月工资</th><th>扣税</th><th>实际工资</th></tr><tr><td>张三</td><td>1000</td><td>100</td><td>900</td></tr></table> --></body><script>// 用户输入let name = prompt("请输入员工姓名");let salary = Number(prompt("请输入工资"));let tax = salary * 0.1;  // 税率0.1let realSalary = salary - tax;  // 实际工资document.write(`<table><tr><th>员工姓名</th><th>这个月工资</th><th>扣税</th><th>实际工资</th></tr><tr><td>${name}</td><td>${salary}元</td><td>${tax}元</td><td>${realSalary}元</td></tr></table>`);</script>
</html>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

基于LightGBM的回归任务案例

在本文中&#xff0c;我们将学习先进的机器学习模型之一&#xff1a;Lightgbm。在对XGB模型进行了越来越多的改进以获得更好的性能之后&#xff0c;XGBoost是一种极限梯度提升机器&#xff0c;但通过lightgbm&#xff0c;我们可以在没有太多计算的情况下实现类似或更好的结果&a…

【C++修行之道】(引用、函数提高)

目录 一、引用 1.1引用的基本使用 1.2 引用注意事项 1.3 引用做函数参数 1.4 引用做函数返回值 1.5 引用的本质 1.6 常量引用 1.7引用和指针的区别 二、函数提高 2.1 函数默认参数 2.2函数占位参数 2.3 函数重载 2.4函数重载注意事项 一、引用 1.1引用的基本使用 …

Ubuntu22.04 gnome-builder gnome C 应用程序习练笔记(二)

gnome-builder创建的程序&#xff0c;在工程树中有三个重要程序&#xff1a;main主程序、application应用程序和window主窗口程序。main整个程序的起始&#xff0c;它会操作application生产应用环境&#xff0c;application会操作window生成主窗口&#xff0c;于是就有了 appli…

Zookeeper集群搭建(3台)

准备工作 1、提前安装好hadoop102、hadoop103、hadoop104三台机器&#xff0c;参照&#xff1a;CentOS7集群环境搭建&#xff08;3台&#xff09;-CSDN博客 2、提前下载好Zookeeper安装包并上传到/opt/software上、安装包&#xff0c;链接&#xff1a;https://pan.baidu.com/…

Xcode配置GLFW GLAD (MAC)

这里的GLFW用的是静态链接 博主反复修改&#xff0c;实在是没能找到为什么用动态会出现线程报错 下载GLAD:版本我一般是选倒数第二新&#xff0c;profile记得选core 点击GENRATE 点glad.zip获得下载 下载GLFW 点击download 最后&#xff0c;将两个文件都放到项目里面去 打开…

深入理解Netty及核心组件使用—上

目录 Netty的优势 为什么Netty使用NIO而不是AIO&#xff1f; Netty基本组件 Bootstrap、EventLoop(Group) 、Channel 事件和 ChannelHandler、ChannelPipeline ChannelFuture Netty入门程序 服务端代码 客户端代码 运行结果 Netty的优势 1. API 使用简单&#xff0c…

用HTML5实现灯笼效果

本文介绍了两种实现效果&#xff1a;一种使用画布&#xff08;canvas&#xff09;标签/元素&#xff0c;另一种不用画布&#xff08;canvas&#xff09;标签/元素主要使用CSS实现。 使用画布&#xff08;canvas&#xff09;标签/元素实现&#xff0c;下面&#xff0c;在画布上…

Transformer实战-系列教程13:DETR 算法解读

&#x1f6a9;&#x1f6a9;&#x1f6a9;Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 1、物体检测 说到目标检测你能想到什么 faster-rcnn系列&#xff0c;开山之作&…

基于 Python opencv 的人脸识别的酒店客房入侵系统的检测

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【深度学习:掌握监督学习】掌握监督学习综合指南

【深度学习&#xff1a;掌握监督学习】掌握监督学习综合指南 监督学习的定义和简要说明监督学习在人工智能中的重要性和相关性概述什么是监督学习&#xff1f;基本概念主要组件&#xff1a;输入要素和目标标签 训练监督式学习模型监督学习算法的类型分类回归每个类别中的流行算…

Rust 格式化输出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、format! 宏二、fmt::Debug三、fmt::Display四、? 操作符 循环打印 前言 Rust学习系列-本文根据教程学习Rust的格式化输出&#xff0c;包括fmt::Debug&…

3.4-媒资管理之视频处理+xx-job分布式任务

文章目录 媒资管理6 视频处理6.1 需求6.1.1 总体需求6.7.3 FFmpeg 的基本使用6.7.4 视频处理工具类 6.2 分布式任务处理6.2.1 什么是分布式任务调度6.2.2 XXL-JOB介绍6.2.3 搭建XXL-JOB6.2.3.1 调度中心6.2.3.2 执行器6.2.3.3 执行任务 6.2.4 分片广播 6.3 技术方案6.3.1 作业分…

【博云2023】乘龙一跃腾云海,侧目抬手摘星河

癸卯渐远&#xff0c;甲辰渐至&#xff0c;预示着被汗水浇灌的种子&#xff0c;必将顶开冻土&#xff0c;迎接阳光。 每逢春节&#xff0c;当亲友彼此问候&#xff0c;博云人总能自豪地说&#xff0c;我们认真地、努力地奋斗&#xff0c;让我们能自信地踏上新的征程。 我们的…

【Web】Spring rce CVE-2022-22965漏洞复现学习笔记

目录 原理概览 漏洞简述 Tomcat AccessLogValve 和 access_log 例题: 原理概览 spring框架在传参的时候会与对应实体类自动参数绑定&#xff0c;通过“.”还可以访问对应实体类的引用类型变量。使用getClass方法&#xff0c;通过反射机制最终获取tomcat的日志配置成员属性…

生成验证码-超简单

引言 在Web开发中&#xff0c;验证码是一种常见的防止恶意破解、自动化提交的有效手段。在Java项目中&#xff0c;我们可以使用Hutool工具库快速实现验证码功能。Hutool是一个Java工具包&#xff0c;它以简洁易用著称&#xff0c;其中包含了验证码模块&#xff0c;可以让我们轻…

Django中的SQL注入攻击防御策略

Django中的SQL注入攻击防御策略 SQL注入是一种常见的网络安全威胁&#xff0c;可以导致数据库被非法访问和数据泄露。本文将介绍在Django框架中防止SQL注入攻击的关键方法&#xff0c;包括使用参数化查询、使用ORM、进行输入验证和使用安全的编码实践。 SQL注入是一种利用应用程…

幻兽帕鲁服务器部署与参数修改教程(WindowsLinux)

教程合集 【阿里云部署攻略】&#xff1a;【官方指南】阿里云搭建幻兽帕鲁服务器指南汇总 【腾讯云部署教程】&#xff1a;【官方指南】腾讯云搭建幻兽帕鲁服务器指南汇总 选服务器 阿里云新用户专享优惠&#xff1a;帕鲁官方推荐配置4核16G 以及 8核32G&#xff0c;新用户…

计算机网络相关题目及答案(第五章实验)

实验:套接字编程作业5:ICMP ping 源代码如下: # -*- coding: utf-8 -*- """ SAFA_LIYT """ import socket import os import sys import struct import time import select import binasciiICMP_ECHO_REQUEST = 8# 计算checksum def checks…

编码安全风险是什么,如何进行有效的防护

2011年6月28日晚20时左右&#xff0c;新浪微博突然爆发XSS&#xff0c;大批用户中招&#xff0c;被XSS攻击的用户点击恶意链接后并自动关注一位名为HELLOSAMY的用户&#xff0c;之后开始自动转发微博和私信好友来继续传播恶意地址。不少认证用户中招&#xff0c;也导致该XSS被更…

深入理解ES的倒排索引

目录 数据写入过程 词项字典 term dictionary 倒排表 posting list FOR算法 RBM算法 ArrayContainer BitMapContainer 词项索引 term index 在Elasticsearch中&#xff0c;倒排索引的设计无疑是惊为天人的&#xff0c;下面看下倒排索引的结构。 倒排索引分为词项索引【…