【JS30】JavaScript 30天练习 第三天 JavaScript数据类型(二)

📔 第 3 天 JavaScript数据类型(二)

布尔值(Boolean)

布尔数据类型表示以下两个值之一:真 true 或 假 false
布尔值是真或假。 当使用比较运算符时,利用布尔值将一目了然。 任何比较都会返回一个布尔值,该值为真或假。

示例:布尔值

let isLightOn = true
let isRaining = false
let isHungry = false
let isMarried = true
let truValue = 4 > 3    // true
let falseValue = 4 < 3  // false

布尔值只有真或假两个值。

真值的约定

  • 除零外,所有数字(正数和负数)都是真值
  • 除空字符串 (’’) 外,所有字符串都是真值
  • 布尔真

假值的约定

  • 0
  • 0n
  • null
  • undefined
  • NaN(NaN,Not a Number,非数值类型)
  • 布尔假
  • ‘’, “”, ``, 空字符串

强烈建议记住真值和假值的约定。 在后面的部分中,将会用得到。

未定义(Undefined)

如果声明了一个变量但是没有赋值,那么这个值将是未定义的。 除此之外,如果一个函数没有返回值,它也是未定义的。

let firstName
console.log(firstName) //未定义,因为它还没有赋值

空值(null)

空值表示没有值。

let empty = null
console.log(empty) //null ,表示没有值

运算符

赋值运算符(=)

JavaScript 中的等号(=)是赋值运算符。它用于分配一个变量。

let firstName = 'Zhang'
let country = 'China'

算术运算符

算术运算符也称作数学运算符。

  • 加法(+):a + b
  • 减法(-):a - b
  • 乘法(*):a * b
  • 除法(/):a / b
  • 模量(%):a % b
  • 指数(**):a ** b
let numOne = 4
let numTwo = 3
let sum = numOne + numTwo
let diff = numOne - numTwo
let mult = numOne * numTwo
let div = numOne / numTwo
let remainder = numOne % numTwo
let powerOf = numOne ** numTwo

console.log(sum, diff, mult, div, remainder, powerOf) // 7,1,12,1.33,1, 64

const PI = 3.14
let radius = 100          // 单位是米

//计算圆的周长
const areaOfCircle = PI * radius * radius
console.log(areaOfCircle)  //  314 m


const gravity = 9.81      // 单位m/s2
let mass = 72             // 单位kg

// 计算一个物体的重力
const weight = mass * gravity
console.log(weight)        // 706.32 N(牛顿)

const boilingPoint = 100  //单位是摄氏度oC,水的沸点是100oC
const bodyTemp = 37       //体温,单位是摄氏度


// 使用字符串插值将字符串与数字连接起来
/*
	水的沸点是100摄氏度。
	人体温度为 37 摄氏度。
	地球的重力为 9.81 m/s2。
 */
console.log(
  `水的沸点是 ${boilingPoint} 摄氏度。\n人的体温是 ${bodyTemp} 摄氏度。\n地球重力是 ${gravity} m/s2.`
)

比较运算符

在编程中我们比较值,我们使用比较运算符来比较两个值。我们检查一个值是否大于或小于或等于其他值。

示例:比较运算符

console.log(3 > 2) // true,因为 3 大于 2
console.log(3 >= 2) // true,因为 3 大于 2
console.log(3 < 2) // false,因为 3 大于 2
console.log(2 < 3) // true,因为 2 小于 3
console.log(2 <= 3) // true,因为 2 小于 3
console.log(3 == 2) // false,因为 3 不等于 2
console.log(3 != 2) // true,因为 3 不等于 2
console.log(3 == '3') // true,只比较值
console.log(3 === '3') // false,比较值和数据类型
console.log(3 !== '3') // true,比较值和数据类型
console.log(3 != 3) // false,只比较值
console.log(3 !== 3) // false,比较值和数据类型
console.log(0 == false) // true,等价
console.log(0 === false) // false,不完全相同
console.log(0 == '') // true,等价
console.log(0 == ' ') // true,等价
console.log(0 === '') // false,不完全相同
console.log(1 == true) // true,等价
console.log(1 === true) // false,不完全相同
console.log(undefined == null) // 真
console.log(undefined === null) // 假
console.log(NaN == NaN) // false,不等于
console.log(NaN === NaN) // 假
console.log(typeof NaN) // 数字

console.log('mango'.length == 'avocado'.length) // false
console.log('mango'.length != 'avocado'.length) // true
console.log('mango'.length < 'avocado'.length) // true
console.log('milk'.length == 'meat'.length) // true
console.log('milk'.length != 'meat'.length) // false
console.log('tomato'.length == 'potato'.length) // true
console.log('python'.length > 'dragon'.length) // false

上述语句都是使用了逻辑计算。不懂逻辑就很难办。

逻辑运算符

这些符号是常见的逻辑运算符:&&(与),||(或)和!(否)。
只有当两个操作数都为真时,&& 运算符才会为真。
任一操作数为真,||运算符为真。
!运算符返回某值的否定,即将 true 否定为 false ,将 false 否定为 true。

// && 与运算符示例

const check = 4 > 3 && 10 > 5 // true && true -> true
const check = 4 > 3 && 10 < 5 // true && false -> false
const check = 4 < 3 && 10 < 5 // false && false -> false


// || 或运算符示例

const check = 4 > 3 || 10 > 5         // true  || true -> true
const check = 4 > 3 || 10 < 5         // true  || false -> true
const check = 4 < 3 || 10 < 5         // false || false -> false


//! 否运算符示例

let check = 4 > 3                     // true
let check = !(4 > 3)                  //  false
let isLightOn = true
let isLightOff = !isLightOn           // false
let isMarried = !false                // true

自增运算符(++)

在 JavaScript 中,使用自增运算符来增加存储在变量中的值。自增可以是前增量或后增量。

  1. 前增量

“先加后用”

let count = 0
console.log(++count)        // 1
console.log(count)          // 1
  1. 后增量

“先用后加”

let count = 0
console.log(count++)        // 0
console.log(count)          // 1

自减运算符(–)

在 JavaScript 中,使用自减运算符来减少存储在变量中的值。自减可以是前减量或后减量。

  1. 前减量
let count = 0
console.log(--count) // -1
console.log(count)  // -1
  1. 后减量
let count = 0
console.log(count--) // 0
console.log(count)   // -1

三元运算符

三元运算符允许编写条件。
请看以下示例:

let isRaining = true
isRaining
  ? console.log('You need a rain coat.')
  : console.log('No need for a rain coat.')
  
isRaining = false
isRaining
  ? console.log('You need a rain coat.')
  : console.log('No need for a rain coat.')
You need a rain coat.
No need for a rain coat.
let number = 5
number > 0
  ? console.log(`${number} is a positive number`)
  : console.log(`${number} is a negative number`)
  
number = -5
number > 0
  ? console.log(`${number} is a positive number`)
  : console.log(`${number} is a negative number`)
5 is a positive number
-5 is a negative number

运算符优先级

建议您通过这个 链接 阅读有关运算符优先级的信息。

JavaScript Window方法

alert() 警告方法

alert() 方法显示一个带有指定消息和 OK 按钮的警报框。它是一个内置方法,接受参数。

alert(message)
alert('Welcome to 30DaysOfJavaScript')

不要使用过多的警报,因为它会很烦人,建议仅用于测试。

prompt() 提示方法

prompt() 方法在浏览器上显示一个带有输入的提示框以获取输入值,并且输入数据可以存储在变量中。 prompt() 方法有两个参数。第二个参数是可选的。

prompt('required text', 'optional text')
let number = prompt('Enter number', 'number goes here')
console.log(number)

confirm() 确认方法

confirm() 方法显示一个带有指定消息的对话框,以及一个 OK 和一个 Cancel 按钮。
确认框通常用于请求用户允许执行某些操作。 confirm() 将字符串作为参数。
单击“确定”会产生真值,而单击“取消”按钮会产生假值。

const agree = confirm('你确定要删除吗?')
console.log(agree) // 结果将根据您在对话框中单击的内容为真或假

当然,以上并不是所有的窗口方法,后面将有一个单独的部分深入介绍窗口方法。

日期对象

时间是很重要的东西。我们想知道某个活动或事件的时间。在 JavaScript 中,当前时间和日期是使用 JavaScript 日期对象创建的。使用 Date 创建的对象提供了许多处理日期和时间的方法。用来从日期对象值中获取日期和时间信息的方法以单词 get 开头,因为它提供了信息。
如:getFullYear()、getMonth()、getDate()、getDay()、getHours()、getMinutes、getSeconds()、getMilliseconds()、getTime()、getDay()

创建时间对象

一旦我们创建了时间对象。时间对象将提供有关时间的信息。

const now = new Date()
console.log(now) // Sat Feb 12 2022 15:51:58 GMT+0800 (中国标准时间)

我们创建了一个时间对象,我们可以使用我们在表中提到的 get 方法从该对象访问任何日期时间信息。

获取年份

console.log(now.getFullYear()) // 2022

获取月份

console.log(now.getMonth()) // 1,因为变量now的月份是二月,月份的范围是(0-11)

获取日期

console.log(now.getDate()) // 12, 月份的范围是(1-31)

获取星期

console.log(now.getDay()) // 6, 因为变量now中是星期六,也就是一周的第 7 天
//  星期从周日开始记为0,周六为6
//  因此星期的范围是(0-6)

获取小时数

console.log(now.getHours()) // 15, 因为变量now中的小时数是15,15:51:58

获取分钟数

console.log(now.getMinutes()) // 51, 因为变量now中的分钟数是51,15:51:58

获得秒数

console.log(now.getSeconds()) // 58, 因为变量now中的秒数是58,15:51:58

获取时间

此方法以毫秒为单位给出从 1970 年 1 月 1 日开始的时间。它也被称为 Unix 时间。我们可以通过两种方式获取unix时间:

  1. 使用 getTime()
const now = new Date() //
console.log(now.getTime()) // 1644652318341, 这是从 1970 年 1 月 1 日到 2022 年 2 月 12 日 15:51:58 经过的秒数
  1. 使用 Date.now()
const allSeconds = Date.now() //
console.log(allSeconds) // 1644652318341,这是从 1970 年 1 月 1 日到 2022 年 2 月 12 日 15:51:58 经过的秒数

const timeInSeconds = new Date().getTime()
console.log(allSeconds == timeInSeconds) // true

接下来让我们将这些值格式化为符合人类阅读习惯的时间格式。

const year = now.getFullYear() // return year
const month = now.getMonth() + 1 // return month(0 - 11)
const date = now.getDate() // return date (1 - 31)
const hours = now.getHours() // return number (0 - 23)
const minutes = now.getMinutes() // return number (0 -59)

console.log(`${date}/${month}/${year} ${hours}:${minutes}`) // 12/2/2022 15:51
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duyanke888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值