js基础速成-布尔值、undefined、null、运算符、日期

布尔值

布尔数据类型代表两种值之一:true 或 false。布尔值要么是 true 要么是 false。当你开始使用比较运算符时,这些数据类型的用法会变得更加清晰。任何比较操作都会返回一个布尔值,要么是 true,要么是 false。

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

真值(Truthy values)

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

假值(Falsy values)

  • 0
  • 0n
  • null
  • undefined
  • NaN
  • 布尔值 false
  • ‘’, “”, ``, 空字符串

Undefined(未定义)

如果我们声明一个变量但不赋值,它的值将是 undefined。此外,如果一个函数没有返回值,它的返回值也将是 undefined。

let firstName
console.log(firstName) //未定义,因为尚未赋值

Null(空值)

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

运算符

赋值运算符

在 JavaScript 中,等号是一个赋值运算符。它用于给变量赋值。

let firstName = 'Asabeneh'
let country = 'Finland'

算术运算符

算术运算符是数学运算符。

  • 加法(+): 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      // 单位:米/秒²
let mass = 72             // 单位:千克

// 让我们计算物体的重量
const weight = mass * gravity
console.log(weight)        // 706.32 N(牛顿)

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

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

比较运算符

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

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)  // true
console.log(undefined === null) // false
console.log(NaN == NaN)         // false,不相等
console.log(NaN === NaN)        // false
console.log(typeof NaN)         // number

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 时为 true。

|| 运算符在其中一个操作数为 true 时为 true。

! 运算符将 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 中,我们使用自增运算符来增加存储在变量中的值。自增运算可以是前置自增或后置自增。

前置自增

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

后置自增

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

我们大多数时间使用后置自增。

自减运算符

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

前置自减

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

后置自减

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

日期对象

在 JavaScript 中,日期对象是用于处理日期和时间的内置对象。为了得到当前时间和日期,我们使用 Date 类。使用 Date 对象,我们可以得到年、月、日期、小时、分钟、秒、毫秒以及星期几。

日期对象中的时间方法

// 2020年11月4日星期三,下午13:16
const now = new Date()
console.log(now)         // 当前时间

const year = now.getFullYear() // 返回年份
const month = now.getMonth()   // 返回月份(0-11)
const date = now.getDate()     // 返回日期(1-31)
const hours = now.getHours()   // 返回小时数(0-23)
const minutes = now.getMinutes() // 返回分钟数(0-59)

console.log(date, month, year, hours, minutes)

日期对象方法

  1. getFullYear():获取年份

  2. getMonth():获取月份

  3. getDate():获取日期

  4. getDay():获取星期几,0代表星期日

  5. getHours():获取小时

  6. getMinutes():获取分钟

  7. getSeconds():获取秒

  8. getMilliseconds():获取毫秒

  9. getTime():获取自1970年1月1日00:00:00至今的毫秒数

  10. now():获取当前时间戳

const now = new Date()
console.log(now.getFullYear())    // 年份
console.log(now.getMonth())       // 月份
console.log(now.getDate())        // 日期
console.log(now.getDay())         // 星期几
console.log(now.getHours())       // 小时
console.log(now.getMinutes())     // 分钟
console.log(now.getSeconds())     // 秒
console.log(now.getTime())        // 自1970年1月1日以来的毫秒数
console.log(Date.now())           // 当前时间戳

格式化日期

const now = new Date()
const year = now.getFullYear() // 返回年份
const month = now.getMonth() + 1 // 返回月份
const date = now.getDate() // 返回日期
const hours = now.getHours() // 返回小时数
const minutes = now.getMinutes() // 返回分钟数

console.log(`${date}/${month}/${year} ${hours}:${minutes}`)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Code王工

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

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

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

打赏作者

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

抵扣说明:

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

余额充值