【基础语法】JavaScript 全栈体系(三)

news2024/9/20 22:44:16

JavaScript 基础

第三章 常量

一、常量的基本使用

  • 概念:使用 const 声明的变量称为“常量”。
  • 使用场景:当某个变量永远不会改变的时候,就可以使用 const 来声明,而不是let。
  • 命名规范:和变量一致
  • 常量使用
// 声明一个常量
const PI = 3.14
// 输出这个常量
console.log(PI)
  • 注意: 常量不允许重新赋值,声明的时候必须赋值(初始化)
  • 小技巧:不需要重新赋值的数据使用const

二、总结

  • let — 现在实际开发变量声明方式。
  • var — 以前的声明变量的方式,会有很多问题。
  • const — 类似于 let ,但是变量的值无法被修改。

第四章 数据类型

  • 计算机世界中的万事万物都是数据。 计算机程序可以处理大量的数据,为什么要给数据分类?
    • 更加充分和高效的利用内存
    • 也更加方便程序员的使用数据
  • JS 数据类型整体分为两大类:
    • 基本数据类型
      • number 数字型
      • string 字符串型
      • boolean 布尔型
      • undefined 未定义型
      • null 空类型
    • 引用数据类型

一、数字类型(number)

  • 即我们数学中学习到的数字,可以是整数、小数、正数、负数。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    let score = 100 // 正整数
    let price = 12.345 // 小数
    let temperature = -40 // 负数

    document.write(typeof score) // 结果为 number
    document.write(typeof price) // 结果为 number
    document.write(typeof temperature) // 结果为 number
  </script>
</body>
</html>
  • JavaScript 中的正数、负数、小数等 统一称为 数字类型。
  • 注意事项
    • JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认
    • Java是强数据类型 例如 int a = 3 必须是整数

二、算术运算符

  • 数字可以有很多操作,比如,乘法 * 、除法 / 、加法 + 、减法 - 等等,所以经常和算术运算符一起。
  • 数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
    • +:求和
    • -:求差
    • *:求积
    • /:求商
    • %:取模(取余数)
      • 开发中经常作为某个数字是否被整除
  • 同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。
  • JavaScript中,优先级越高越先被执行,优先级相同时以书从左向右执行。
    • 乘、除、取余优先级相同
    • 加、减优先级相同
    • 乘、除、取余优先级大于加、减
    • 使用 () 可以提升优先级
  • 总结: 先乘除后加减,有括号先算括号里面的
  • NaN 代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果。
  • NaN 是粘性的。任何对 NaN 的操作都会返回 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>
  <script>
    // js 弱数据类型的语言 只有当我们赋值了,才知道是什么数据类型
    // let num = 'alex'
    // let num = 10.11
    // console.log(num)
    console.log(1 + 1) // 2
    console.log(1 * 1) // 1 
    console.log(1 / 1) // 1
    console.log(4 % 2) // 求余数  0
    console.log(5 % 3) // 求余数  2 
    console.log(3 % 5) // 求余数  3 
    // java 强数据类型的语言    int num = 10

    console.log('alex' - 2)  // NaN
    console.log(NaN - 2)     // NaN
    console.log(NaN + 2)     // NaN
    console.log(NaN / 2)     // NaN
    console.log(NaN === NaN) // false
  </script>
</body>

</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>
  <script>
    // 1. 页面弹出输入框
    let r = prompt('请输入圆的半径:')
    // 2. 计算圆的面积(内部处理)
    let re = 3.14 * r * r
    // 3. 页面输出
    document.write(re)

    // NaN   not a number 
  </script>
</body>

</html>

三、字符串类型(string)

  • 通过单引号(‘’) 、双引号(“”)或反引号( ` ) 包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
  • 注意事项:
    • 无论单引号或是双引号必须成对使用
    • 单引号/双引号可以互相嵌套,但是不以自已嵌套自已
    • 必要时可以使用转义符 \,输出单引号或双引号
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    let user_name = '小明' // 使用单引号
    let gender = "男" // 使用双引号
    let str = '123' // 看上去是数字,但是用引号包裹了就成了字符串了
    let str1 = '' // 这种情况叫空字符串
		
    documeent.write(typeof user_name) // 结果为 string
    documeent.write(typeof gender) // 结果为 string
    documeent.write(typeof str) // 结果为 string
  </script>
</body>
</html>

1. 字符串拼接:

  • 场景: + 运算符 可以实现字符串的拼接。
  • 口诀:数字相加,字符相连
<!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>
  <script>
    // let str = 'alex'
    // let str1 = "alex"
    // let str2 = `中文`
    // console.log(str2)
    // console.log(11)
    // console.log(`11`)
    // console.log(str)
    // console.log('str')
    // console.log('alex老师讲课非常有"基情"')
    // console.log("alex老师讲课非常有'基情'")
    // console.log('alex老师讲课非常有\'基情\'')
    // 字符串拼接
    // console.log(1 + 1)
    // console.log('alex' + '老师')

    let age = 25

    // document.write('我今年' + 19)
    // document.write('我今年' + age)
    // document.write('我今年' + age + '岁了')
    document.write('我今年' + age + '岁了')


  </script>
</body>

</html>

2. 模板字符串

  • 使用场景
    • 拼接字符串和变量
    • 在没有它之前,要拼接变量比较麻烦
  • 语法
    • `` (反引号)
    • 在英文输入模式下按键盘的tab键上方那个键(1左边那个键)
    • 内容拼接变量时,用 ${ } 包住变量

3. 总结

3.1 JavaScript中什么样数据我们知道是字符串类型?
  • 只要用 单引号、双引号、反引号包含起来的就是字符串类型
3.2 字符串拼接比较麻烦,我们可以使用什么来解决这个问题?
  • 模板字符串, 可以让我们拼接字符串更简便
3.3. 模板字符串使用注意事项
  • 用什么符号包含数据?
    • 反引号
  • 用什么来使用变量?
    • ${变量名}

4. 案例:页面输出用户信息

<!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>
  <script>
    // let age = 20
    // // 模板字符串 外面用`` 里面 ${变量名}
    // document.write(`我今年${age}岁了`)
    let uname = prompt('请输入您的姓名:')
    let age = prompt('请输入您的年龄:')
    // 输出
    document.write(`大家好,我叫${uname}, 我今年贵庚${age}岁了`)
  </script>
</body>

</html>

四、布尔类型(boolean)

  • 表示肯定或否定时在计算机中对应的是布尔类型数据。
  • 它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    //  pink老师帅不帅?回答 是 或 否
    let isCool = true // 是的,摔死了!
    isCool = false // 不,套马杆的汉子!

    document.write(typeof isCool) // 结果为 boolean
  </script>
</body>
</html>

五、未定义类型(undefined)

  • 未定义是比较特殊的类型,只有一个值 undefined。
  • 什么情况出现未定义类型?
    • 只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    // 只声明了变量,并末赋值
    let tmp;
    document.write(typeof tmp) // 结果为 undefined
  </script>
</body>
</html>
  • 工作中的使用场景:
    • 我们开发中经常声明一个变量,等待传送过来的数据。
    • 如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

注:JavaScript 中变量的值决定了变量的数据类型。

六、空类型(null)

  • JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
let obj = null
console.log(obj) // null
  • null 和 undefined 区别:
    • undefined 表示没有赋值
    • null 表示赋值了,但是内容为空 null
  • 开发中的使用场景:
    • 官方解释:把 null 作为尚未创建的对象
    • 大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

七、总结

1. 布尔数据类型有几个值?

  • true 和 false

2. 什么时候出现未定义数据类型?以后开发场景是?

  • 定义变量未给值就是 undefined
  • 如果检测变量是 undefined 就说明没有值传递过来

3. null 是什么类型? 开发场景是?

  • 空类型
  • 如果一个变量里面确定存放的是对象,如果还没准备好 对象,可以放个null
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 数据类型</title>
</head>
<body>
  
  <script> 
    let score = 100 // 正整数
    let price = 12.345 // 小数
    let temperature = -40 // 负数

    document.write(typeof score) // 结果为 number
    document.write(typeof price) // 结果为 number
    document.write(typeof temperature) // 结果为 number
  </script>
</body>
</html>

八、检测数据类型

1. 控制台输出语句

请添加图片描述

2. 通过 typeof 关键字检测数据类型

  • typeof 运算符可以返回被检测的数据类型。它支持两种语法形式:
    • 作为运算符: typeof x (常用的写法)
    • 函数形式: typeof(x)
  • 换言之,有括号和没有括号,得到的结果是一样的,所以我们直接使用运算符的写法

请添加图片描述

<!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>
  <script>
    let num = 10
    console.log(typeof num)
    let str = 'alex'
    console.log(typeof str)
    let str1 = '10'
    console.log(typeof str1)
    let flag = false
    console.log(typeof flag)
    let un
    console.log(typeof (un))
    let obj = null
    console.log(typeof obj)


    let num1 = prompt('请输入第一个数:')
    console.log(typeof num1)
  </script>
</body>

</html>

<!--
	number
	string
	string
	boolean
	undefined
	object
	string
-->

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

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

相关文章

python 之 海龟绘图(turtle)

注&#xff1a;从个人博客园移植而来 使用简介 python 2.6引入的一个简单的绘图工具&#xff0c;俗称为海龟绘图。3.x以上使用的话&#xff0c;可通过pip进行安装&#xff0c;命令为&#xff1a; pip/pip3 install turtle如果出现如下错误&#xff1a; 解决方式&#xff1a; …

UOS桌面操作系统搭建open vxn服务

UOS系统搭建openVPN一、环境说明二、服务端配置1、软件安装2、创建目录用来存放生成证书中要用到的各种文件3、准备证书生成相关文件4 、准备生成证书用的CSR相关配置5、生成CA证书6、生成服务端证书7、使用CA给服务端证书签名8、生成DH证书9、生成ta密钥10、生成客户端证书&am…

07 二叉树

开始系统学习算法啦&#xff01;为后面力扣和 蓝桥杯的刷题做准备&#xff01;这个专栏将记录自己学习算法是的笔记&#xff0c;包括 概念&#xff0c; 算法运行过程&#xff0c;以及 代码实现&#xff0c;希望能给大家带来帮助&#xff0c;感兴趣的小伙伴欢迎评论区留言或者私…

CHAPTER 1 Web Server - apache(httpd)

Web Server - apache1.1 概念介绍1.1.1 什么是Web Service?1.1.2 什么是Web Server?1.1.3 常见的Web服务程序有哪些?1.2 httpd1.2.1 httpd和apache的区别关系1.2.2 httpd版本介绍1.2.3 httpd安装1. yum 安装2. 编译安装1.3 通过systemctl管理httpd1.3.1 配置文件原因1.3.2 为…

析构函数、拷贝构造

1、析构函数析构函数的定义方式函数名和类名相同&#xff0c;在类名前加~&#xff0c;没有返回值类型&#xff0c;没有函数形参&#xff08;不能重载&#xff09;当对象生命周期结束的时候&#xff0c;系统会自动调用析构函数先调用析构函数&#xff0c;再释放对象的空间析构函…

C#中多态、抽象类、虚方法

多态、重装、重写 •多态&#xff1a;同一操作作用于不同的对象&#xff0c;可以有不同的解释&#xff0c;产生不同的执行结果&#xff0c;这就是多态性。抽象类、虚函数、接口三种方法实现的可以是多态性。•重载&#xff08;overload&#xff09;&#xff1a;对象中同名函数&…

【Galois工具开发之路】给你的JVM安装一个插件~

什么是DCEVM Dcevm&#xff08;DynamicCode Evolution Virtual Machine&#xff09;是Java Hostspot的一个扩展插件&#xff0c;属于开源性工具&#xff0c;非JDK官方提供&#xff0c;它允许你在运行环境下修改加载的类文件。当前虚拟机只允许修改方法体&#xff08;Method&am…

【Python学习笔记】43.Python3 JSON 数据解析及日期和时间

前言 本章介绍python的JSON及日期和时间。 Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码&#xff0c;它包含了两个函数&#xff1a; json.dumps(): 对数据进行编码。json…

苏宁基于 AI 和图技术的智能监控体系的建设

汤泳&#xff0c;苏宁科技集团智能监控与运维产研中心总监&#xff0c;中国商业联合会智库顾问&#xff0c;致力于海量数据分析、基于深度学习的时间序列分析与预测、自然语言处理和图神经网络的研究。在应用实践中&#xff0c;通过基于 AI 的方式不断完善智能监控体系的建设&a…

C# 业务单据号生成器(定义编号规则、自动获取编号)

系列文章 C#底层库–数据库访问帮助类&#xff08;MySQL版&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/126886379 C#底层库–JSON帮助类_详细&#xff08;序列化、反序列化、list、datatable&#xff09; 本文链接&#xff1a;htt…

用友Java架构师面试

自我介绍。项目中的一些优化。Q&#xff1a;kafka消息的时序性怎么保证&#xff1f;A1&#xff1a; 核心意思就是要实现局部有序&#xff0c;需要有序的消息应设置相同的key&#xff0c;这样通过哈希取模后会分到同一个partition。又因为一个partition只能被一个consumer组中的…

智慧校园信息化管理平台技术方案

1.2总体架构设计 智慧校园平台是以学校现有网络为基础&#xff0c;以服务于全校师生的教学、科研、生活为目的&#xff0c;建立在学校数据中心平台之上&#xff0c;涵盖了学校的学校管理、学生管理、教学管理、班级管理、家校共育、教务管理等全方位的管理信息平台与信息服务平…

阿里P8经验分享 —— 送给想要学习自动化测试的同学6条建议

基于我的经验&#xff0c;送给想要学习自动化测试的同学6条建议 第一条建议&#xff1a;先学习编程语言&#xff0c;然后再接触自动化工具。 语言选择上Java或者Python都是可以的&#xff0c;可以先从Python入手&#xff0c;之后再开始Java。在学习语言的过程中&#xff0c;一…

playwright python环境运行报错 ImportError: DLL load failed

网上建议网上好多文章介绍playwright的环境搭建&#xff0c;用以下两条语句即可完成pip install playwrightplaywright install安装完毕后&#xff0c;尝试执行一段经典的python demofrom playwright.sync_api import sync_playwright with sync_playwright() as p: browser p…

seo优化案例截图

点击进入》》三支一扶课程聚合页面 百度统计数据 流量稳步增长&#xff0c; 2022年9月比2021年9月 同期增长 约30%。

SpringCloud - Nacos

目录 服务注册到Nacos 服务分级存储模型 NacosRule负载均衡 服务实例的权重设置 环境隔离 Nacos与Eureka的对比 添加Nacos配置 微服务配置拉取 配置热更新 多环境配置共享 服务注册到Nacos 1.在父工程引入SpringCloudAlibaba的依赖 2.注释掉order-service和user-ser…

@KafkaListener 详解及消息消费启停控制

参考&#xff1a;Kafka参数一、KafkaListener注解KafkaListener(id "11111", groupId "demo-group",topics Constants.TOPIC)public void listen(String msgData) {LOGGER.info("收到消息" msgData); } KafkaListener(id "22222"…

React系列之Redux

1 Redux概述 Redux 是 JavaScript 状态容器&#xff0c;提供可预测化的状态管理。Redux中文文档 Redux 和react没有必然关系&#xff0c;redux可以应用于各种框架&#xff0c;包括jquery&#xff0c;甚至js都可以使用redux&#xff0c;只不过redux和react更加搭配。redux也推…

javaee之git

一张图说明git 分支之间的操作 这个 框里面的linux命令都可以用 操作开始&#xff1a; 在master分支里面创建了一个hello.txt&#xff0c;并且放入了一些数据进去 这个去查一下日志 问题&#xff1a;当你放入了暂存区&#xff0c;你去查看日志会报错 一个分支这个指针head永…

Django框架之Django使用自带模板

Django使用自带模板 1 配置 在工程中创建模板目录templates。 在settings.py配置文件中修改TEMPLATES配置项的DIRS值&#xff1a; TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)], # 此处修改APP_DIR…