前端三剑客 —— JavaScript (第二节)

目录

内容回顾

数据类型

基本数据类型:

引用数据类型:

常见运算

算术运算符

比较运算符

逻辑运算符

赋值运算符

自增/减运算符

三目运算符

位运算符


内容回顾

        1.概述

        2.基本数据

                1.使用方式(行内、页面、外部)

                2.对话框(警告、确认、输入)

                3.关键字(具有特殊意义的单词,它的特点是全部小写)

                4.注释(单选注释//、多行注释/**/、文档注释/*!*/)

                5.变量(定义变量我们需要使用的语法:let|const|var 变量名称 = 值)

                6.规则和规范(规则我们是需要遵守,而规范我们应该符合这个标准写法),只能是字母、数字、下划线和$符号,数字不能开头。

                7.数据类型

数据类型

在JS中有以下两大类:基本数据类型、引用数据类型

基本数据类型:

数值类型(Number)

整数(int)

浮点数(float)

布尔类型(Boolean),有两个值:true 和 false

字符串(String),它可以是单引号包裹的数据,也可以是双引号包裹的数据。在JS推荐使用单号

空(null),表示不存在

未定义(undefined),表示变量定义了,但是没有给它赋值就使用这个变量。

不是数字(NaN - Not a Number),判断是否为数字,如果不是返回true,如果是返回false

引用数据类型:

数组(Array),它用于存储一组相同类型的数据

对象(Object)在JS中万物皆对象!!!

判断数据类型我们在JS中是通过typeof运行符来实现的。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>数据类型</title>

</head>

<body>

<script>

    // 1. 定义一个整数类型的变量

    let num = 10

    console.log(num, typeof num); // 在控制台中输出变量的值以及变量的类型

    // 2. 定义一个浮点类型的变量

    let money = 10000.5

    console.log(money, typeof money);

    // 3. 定义一个布尔类型的变量

    let bool = false

    console.log(bool, typeof bool);

    // 4. 定义一个字符串类型的变量

    let str1 = "hello"

    console.log(str1, typeof str1);

    let str2 = 'world'

    console.log(str2, typeof str2);

    // 5. 空值类型,它只有一个值 null

    let nullVal = null

    console.log(nullVal, typeof nullVal);

    // 6. 未定义

    let age

    console.log(age, typeof age)

    // 7. 判断是否为数字

    let n = 'a'

    console.log(isNaN(n), typeof isNaN(n))

</script>

</body>

</html>

常见运算

算术运算符

在JS算术运算符包含加、减、乘、除、取模等。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>算术运算数</title>

</head>

<body>

<script>

    // 数值类型的算术运算

    let a = 10

    let b = 2

    // 加法运算

    let r = a + b

    console.log(r);

    // 减法运算

    r = a - b

    console.log(r);

    // 乘法

    r = a * b

    console.log(r);

    // 除法

    r = a / b

    console.log(r);

    // 取模,得到除法的余数

    r = a % b

    console.log(r);

    // 幂运算

    r = a ** b

    console.log(r)

    console.log('-----------------------------')

    // 布尔类型的算术运算

    let b1 = true

    let b2 = true

    r = b1 + b2

    console.log(r)  // 当两个布尔值进行加法运算时,会把 true 变为 1false 变为 0 后再作运算

    r = b1 - b2

    console.log(r)

    r = b1 / b2

    console.log(r)

    r = b1 * b2

    console.log(r)

    // 字符串的算术运算

    let s1 = '30'

    let s2 = '20'

    r = s1 + s2

    console.log(r)   // 字符串作加法操作其实就是进行字符串拼接操作

    r = s1 - s2

    console.log(r, typeof r)  // 当字符串作减法操作时,它会看这个字符串能不能转换为数字,如果能则转换后再计算,如果不能则输出 NaN

    r = s1 * s2

    console.log(r, typeof r) // 当字符串作乘法时,也会先看这个字符串能不能转换为数字,如果能则按数值进行计算,否则输出 NaN

    console.log('-----------------------------')

    // 空值

    let n1 = null

    let n2 = null

    r = n1 + n2

    console.log(r, typeof r)

    let n3 = 5

    r = n1 + n3

    console.log(r, typeof r)  // 当空值进行算术运算时,它会转换为数值 0,然后再作计算

    // 未定义

    let un1 = undefined

    let un2 = undefined

    r = un1 + un2

    console.log(r)   // 未定义类型不能进行算术运算

</script>

</body>

</html>

比较运算符

比较运算也中关系运算。它是用于比较两个数之间的大小,结果为一个布尔类型的值。比较运算符包含:大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)、不等于(!=)、全等于(`===`)

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>比较运算符</title>

</head>

<body>

<script>

    let n1 = 10

    let n2 = 20

    r = n1 > n2

    console.log(r, typeof r)

    r = n1 < n2

    console.log(r, typeof r)

    r = n1 >= n2

    console.log(r, typeof r)

    r = n1 <= n2

    console.log(r, typeof r)

    r = n1 == n2

    console.log(r, typeof r)

    r = n1 != n2

    console.log(r, typeof r)

    console.log('-------------------------------')

    let n3 = 5

    let n4 = 5

    let n5 = '5'

    r = n3 == n4

    console.log(r)

    r = n3 === n4

    console.log(r)

    r = n3 == n5  // 使用 == 等号的方式来进行比较时,是比较的两个变量转换为数值类型后的值的大小。

    console.log(r)

    r = n3 === n5 // 使用 === 等号的方式进行比较时,比较的是值的大小以及它的类型是否相同。只两者都相同才为 true,否则为 false

    console.log(r)

    console.log('-----------------------------')

    //----------布尔类型的比较运算---------------------

    let b1 = true

    let b2 = false

    r = b1 === b2

    console.log(r)    // 使用布尔值来做比较运算是没有意义的,因为比较运算的结果本身就是布尔类型的值。

    console.log('-----------------------------')

    let s1 = 'hello'

    let s2 = 'hallo'

    s1 = '100'

    s2 = '10'

    s1 = 'World'

    s2 = 'world'

    r = s1 === s2

    r = s1 > s2

    console.log(r)

</script>

</body>

</html>

逻辑运算符

逻辑运算符主要是指多个条件之间的关联关系,逻辑运算符有:与(&&)、或(||)以及非(!)这三种。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>逻辑运算符</title>

</head>

<body>

<script>

    let n1 = 5

    let n2 = 6

    let b1 = true

    let b2 = false

    let r = n1 && n2 && b1

    console.log(r, typeof r) // 使用与运算时,只有全部都是 true ,结果才是 true,否则结果为 false

    r = n1 > n2 || b1 || b2

    console.log(r)   // 使用或运算时,只有全部为 false,结果才是 false,否则结果为 true

    r = !b1

    console.log(r)

    r = !b2

    console.log(r)  // 使用非运算时,如果本身为 true 则结果为 false,如果本身为 false 则结果为 true,即取反

    r = n1 < n2 & b2

    console.log(r)

    r = b1 & b2

    console.log(r)

    r = b1 | b2

    console.log(r)

</script>

</body>

</html>

在逻辑运算符中,也可以使用 & 号来表示运算使用 | 符号来表示或运算。它们与 && 以及 || 是有区别的。

赋值运算符

在 JS 中赋值运算符有以下几种:

1.=:将它这符号右边的值赋给这个符号左边的变量

2.+=:把符号右边的值与这个变量之前的值相加后再赋给这个变量

3.-=:把符号右边的值与这个变量之前的值相减后再赋给这个变量

4.*=:把符号右边的值与这个变量之前的值相乘后再赋给这个变量

5./=:把符号右边的值与这个变量之前的值相除后再赋给这个变量

6.%=:把符号右边的值与这个变量之前的值取模后再赋给这个变量

7.**=:把符号右边的值与这个变量之前的值幂运算后再赋给这个变量

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>赋值运算符</title>

</head>

<body>

<pre>

 =:将它这符号右边的值赋给这个符号左边的变量

 +=:把符号右边的值与这个变量之前的值相加后再赋给这个变量

 -=:把符号右边的值与这个变量之前的值相减后再赋给这个变量

 *=:把符号右边的值与这个变量之前的值相乘后再赋给这个变量

 /=:把符号右边的值与这个变量之前的值相除后再赋给这个变量

 %=:把符号右边的值与这个变量之前的值取模后再赋给这个变量

 **=:把符号右边的值与这个变量之前的值幂运算后再赋给这个变量

  </pre>

<script>

    let a = 10   // 使用 = 进行赋值运算,它是将等号右边的值赋给等号左边的变量

    console.log(a)

    a += 10  // 它等价于 a = a + 10

    console.log(a)

    a -= 10   // 它等价于 a = a - 10

    console.log(a)

    a *= 10   // 它等价于 a = a * 10

    console.log(a)

    a /= 10   // 它等价于 a = a / 10

    console.log(a)

    a %= 10  // 它等价于 a = a % 10

    console.log(a)

    a **= 10  // 它等价于 a = a ** 10 0 10 次方

    console.log(a)

</script>

</body>

</html>

自增/减运算符

严格来说,它是属于算术运算符中,我们在这里把单独拿出来进行讲。

问题:a++ 和 ++a 有什么区别?

根据上面的代码运行的结果以及分析的过程,我们发现:++ 后是先使用它的值,然后自己再加 1,而 ++ 在前是先自己加 1 后,再把结果进行相加。

总结:++在前是先自增再运算,++在后是先运算再自增!!!!!!!!!!!!!

三目运算符

三目运算符出现的目的是为了简化 if 语句。它的语法格式为:`变量 = 表达式 ? 值1 : 值2`。当表达为 true 时,取值1,否则取值2。

位运算符

位运算符会涉及到二进制的计算,会有补码、原码、反码。位运算符有 & 、| 、^ 、<< 、>> 以及 >>>

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

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

相关文章

《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程)

宏哥微信粉丝群&#xff1a;https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 TestNG还为我们提供了测试的记录功能-日志。例如&#xff0c;在运行测试用例期间&#xff0c;用户希望在控制台中记录一些信息。信息可以是任何细节取决于目的。牢记我们正在使…

Failed to delete XXXX.jar

Failed to delete XXXX.jar 问题&#xff1a;idea控制台报Failed to clean project:Failed to delete idea中点击maven->对应pom->lifecycle->clean时&#xff0c;报错 原因&#xff1a;target文件可能时编译的文件被其他程序占用&#xff0c;导致资源无法回收 解…

thinkphp6中使用监听事件和事件订阅

目录 一&#xff1a;场景介绍 二&#xff1a;事件监听 三&#xff1a;配置订阅 一&#xff1a;场景介绍 在项目开发中有很多这样的场景&#xff0c;比如用户注册完了&#xff0c;需要通知到第三方或者发送消息。用户下单了&#xff0c;需要提示给客服等等。这些场景都有一个…

SAP_ABAP_MM_PO审批_队列实践SMQ1

SAP ABAP 顾问&#xff08;开发工程师&#xff09;能力模型-CSDN博客文章浏览阅读1k次。目标&#xff1a;基于对SAP abap 顾问能力模型的梳理&#xff0c;给一年左右经验的abaper 快速成长为三年经验提供超级燃料&#xff01;https://blog.csdn.net/java_zhong1990/article/det…

【春秋招专场】央国企——国家电网

国家电网目录 1.公司介绍1.1 业务1.2 组成 2.公司招聘2.1 招聘平台2.2 考试安排2.3 考试内容 3.公司待遇 1.公司介绍 1.1 业务 国家电网公司&#xff08;State Grid Corporation of China&#xff0c;简称SGCC&#xff09;是中国最大的国有企业之一&#xff0c;主要负责中国绝…

DS数模-Mathorcup妈妈杯C题思路

2024Mathorcup数学建模挑战赛&#xff08;妈妈杯&#xff09;C题保姆级分析完整思路代码数据教学 C题题目&#xff1a;物流网络分拣中心货量预测及人员排班 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 总体分析&#xff1a;题目要求我们处理的是一个关于物流…

在实体类中使用JSONObject对象

有时候我们的业务需求可能字段是json格式&#xff0c;这个时候我们的实体类就对应的也应该是json格式&#xff0c;需要使用到JSONObject这个对象&#xff0c;但是可能会使用不了这个对象&#xff0c;那接下来我将简单介绍如何使用这个对象。 以下为我的实体类中的某个字段&…

什么是云原生

什么是云原生 云原生的定义 aws&#xff1a; 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代公司希望构建高度可伸缩、灵活和有弹性的应用程序&#xff0c;以便能够快速更新以满足客户需求。为此&#xff0c;他们使用了支持云基础设施上应用程序开发的现…

cat,tac,nl,more,less,head,tail,od,touch-读书笔记(五)

文件内容查阅 cat 由第一行开始显示文件内容 tac 从最后一行开始显示&#xff0c;可以看出 tac 是 cat 的倒着写&#xff01; nl 显示的时候&#xff0c;顺道输出行号&#xff01; more 一页一页的显示文件内容 less 与 more 类似&#xff0c;但是比 more 更好的是&#x…

OpenAI 推出新网络爬虫GPTBot,为GPT-5做准备

目录 一、GPTBot是什么&#xff1f;它是如何工作的&#xff1f;二、GPTBot 与 Google Bot 等搜索引擎网络爬虫有何不同&#xff1f;三、GPTBot 与 Perplexity AI 的网络爬虫有何不同&#xff1f;四、允许 GPTBot 爬取有哪些风险和好处&#xff1f;4.1 允许 GPTBot 的好处4.2 允…

笔记-Building Apps with the ABAP RESTful Application Programming Model-Week3

Week3 Unit 1: The Enhanced Business Scenario 本节介绍了将要练习的demo的业务场景,在前两周成果的基础上,也就是只读列表,也可以说是报表APP基础上启用了事务能力,也就是CURD以及自定义业务功能的能力,从创建基本的behavior definition,然后behavior definition proj…

Python(8):文件的IO读写操作(操作普通文件/csv/excel)

文章目录 一、文件的IO读写操作1.常用的文件读取标志符2.普通文件的读操作 二、csv文件的读写操作1.读取操作2.读取时候跳过某一行3.列表方式写入csv文件4.字典方式写入csv文件 三、excel的数据操作&#xff08;非pandas模块&#xff09;1.读取excel的某个sheet的某一行的某一列…

【C++】stringstream

stringstream 定义于头文件 <sstream>&#xff0c;它其实是个别名&#xff0c;具体定义如下&#xff1a; typedef basic_stringstream<char> stringstream;<sstream> 定义了三个类&#xff1a;istringstream、ostringstream 和 stringstream&#xff0c;分别…

java数据结构与算法刷题-----LeetCode268. 丢失的数字

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 数学位运算 数学 解题思路&#xff1a;时间复杂度O( n n n)&…

锐腾授权世强硬创代理导热硅脂等热界面材料,最大化降低界面热阻

随着热界面材料下游新兴应用领域如数据中心、新能源汽车、可穿戴设备等的高速发展&#xff0c;其散热需求也将同步上升&#xff0c;国内热界面材料行业市场规模呈现上涨态势。 在此趋势下&#xff0c;国内锐腾新材料制造&#xff08;苏州&#xff09;有限公司&#xff08;下称…

从零到部署指南:Ubuntu上安装Boost和Crow库

1.安装boost 在安装Crow之前&#xff0c;需要确保您的系统中已经安装了Boost库。以下是Boost库安装步骤&#xff1a; 首先&#xff0c;从Boost官方网站或通过特定的链接下载Boost的源码&#xff0c;boost源码具体可参看这个链接&#xff1a; https://blog.csdn.net/duan199201…

vue3+高德地图+turfjs实现等压线,色斑图(用于显示气象,环境等地图场景)

首先是turf.js(英文官网),也有中文网不过也就目录翻译了一下. 高德官网自行获得key 使用turf的isobands api实现. 数据: 需要准备geojson格式经纬度信息业务值(比如温度,高度,光照只要是number值什么数据都可以) 国内各地区geojson数据点这里获得 参考的是这位大佬写的内容 我…

洛谷 - P1187 3D模型

3D模型 题目描述 一座城市建立在规则的 n m n \times m nm 网格上&#xff0c;并且网格均由 1 1 1 \times 1 11 正方形构成。在每个网格上都可以有一个建筑&#xff0c;建筑由若干个 1 1 1 1 \times 1 \times 1 111 的立方体搭建而成&#xff08;也就是所有建筑的底部…

Unity MySql安装部署与Unity连接 下篇

一、前言 上篇讲到了如何安装与部署本地MySql&#xff1b;本篇主要讲Unity与MySql连接、创建表、删除表&#xff0c;然后就是对表中数据的增、删、改、查等操作。再讲这些之前会说一些安装MySql碰到的一些问题和Unity连接的问题。 当把本地MySql部署好之后&#xff0c;我们可能…

uniapp 小程序获取WiFi列表

<template><view ><button click"getWifiList">获取WiFi列表</button><scroll-view:scroll-top"scrollTop"scroll-yclass"content-pop"><viewclass"itemInfo"v-for"(item, index) in wifiList&…