JavaScript系列------3

1. 逻辑中断

  • 短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行。

|------|-------------|
| 符号 | 短路条件 |
| && | 左边为false就短路 |
| || | 左边为true就短路 |

  • 原因:通过左右能得到整个式子的结果,以此没必要再判断右边。
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let age = 19
        console.log(false && age++)
        console.log(age)
    </script>
</body>
</html>

输出的age仍然为18,没有执行age++,因为不执行这一句,一假则假。

  • console.log( x || y ) 都是真,返回最后一个真值。

  • console.log( x && y ) 都是真,输出第一个真值。

2. 转换为Boolean型

显示转换:

(1)Boolean(内容)

记忆:''、0、undefined、null、false、NaN转换为布尔值后都是false,其余则为true

3. 对象是什么

对象(object):JavaScript里的一种数据类型。

可以理解为一种无序的数据集合,注意数组是有序的数据集合。

3.1 对象使用

  1. 对象声明语法
html 复制代码
let 对象名 = {}
html 复制代码
let 对象名 = new Object()
  1. 对象由属性和方法组成
html 复制代码
let 对象名 = {
    属性名: 属性值,
    方法名: 函数
}
  • "查"属性: 对象名.属性名
  • "改"属性:对象名.属性名 = 新值
  • "删"属性:delete(对象名.属性名)

3.2 对象中的方法

数据行为性的信息称为方法,一般是动词性的,其本质是函数。

html 复制代码
let person = {
    name: 'andy',
    sayHi: function() {
        docunment.write('hi~~')
    }
}
  • 方法是由方法名和函数两部分构成,它们之间使用**:**分割
  • 多个属性之间使用英文**,**分割
  • 方法是依附在对象中的函数
  • 方法名可以使用 "" 或 '' , 一般情况下省略,除非名称遇到特殊符号如空格、中横线等

3.3 遍历对象

(1)输出属性名:'uname' ;age'

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let pink = {
            uname: 'pink老师',
            age: 18,
            gender: '女',
            song: function() {
                console.log('冰雨')
            }
        }
        // console.log(pink);
        for (let key in pink) {
            console.log(key)
        }
    </script>
</body>
</html>

输出为:

(2)输出属性值

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let pink = {
            uname: 'pink老师',
            age: 18,
            gender: '女',
            song: function() {
                console.log('冰雨')
            }
        }
        // console.log(pink);
        for (let key in pink) {
            console.log(pink[key])
        }
    </script>
</body>
</html>

输出为:

一定记住:k 是获得对象的属性名对象名[k] 是获得属性值

3.4 内置对象:可以参考链接使用

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide

详细介绍一些内置对象 Math:

Math对象是JavaScript提供的一个**"数学"对象。**

Math对象包含的方法有:

  • random: 生成0-1之间的随机数(包含0不包含1)
  • ceil: 向上取整
  • floor: 向下取整
  • max: 找最大数
  • min: 找最小数
  • pow: 幂运算
  • abs: 绝对值
相关推荐
一粒黑子7 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
IT枫斗者7 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
九转成圣8 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
Beginner x_u8 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
SmartRadio8 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython8 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫8 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch8 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI8 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0018 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript