JS基础(四)

2023-04-12 15:27:22 浏览数 (1)

对象

可以理解为一种无序的数据集合

比如 描述学生信息

  1. 静态特征(姓名,年龄,性别,身高…) ——> 使用数字, 字符串, 数组, 布尔类型等表示
  2. 动态行为 (唱歌,跳舞,打篮球)——> 使用函数表示

语法

声明语法

对象由属性和方法组成

代码语言:javascript复制
    let 对象名 = {
        属性名:属性值,
        方法名:函数
    }

1. 属性:

信息或叫特征(名词) 例如:

代码语言:javascript复制
let person = {
    uname: 'Tricia',
    age: 18,
    gender: '女'
}
  • 属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔
  • 多个属性之间使用英文 , 分隔
  • 属性就是依附在对象上的变量(外面是变量,对象内是属性)
  • 属性名可以使用 “” 或 ‘’,一般情况下省略,除非名称遇到特殊符号如空格、中横线等

属性访问 可以使用.或者[]获得对象 例如: 1.

代码语言:javascript复制
let person = {
    uname: 'Tricia',
    age: 18,
    gender: '女'
}
console.log(person.uname)
console.log(person.age)
console.log(person.gender)
代码语言:javascript复制
let person = {
    uname: 'Tricia',
    age: 18,
    gender: '女'
}
console.log(person['uname'])
console.log(person['age'])
console.log(person['gender'])

2. 方法:

功能或叫行为(动词) 例如:

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

方法访问: 对象名.方法名() 注意:一定不要忘记()

代码语言:javascript复制
person.sayHi()

操作对象

操作数据就是增 删 改 查

1. 对象添加新的数据

添加属性

对象名.新属性名 = 新值

代码语言:javascript复制
let goods = {
            name: '小米10 青春版',
            num: 1000011026024,
            weight: '0.55kg',
            address: '中国大陆'
        }
       
        goods.price = 1099
添加方法

对象名.方法名 = function() { 方法 }

代码语言:javascript复制
let goods = {
            name: '小米10 青春版',
            num: 1000011026024,
            weight: '0.55kg',
            address: '中国大陆'
        }
       
        goods.useMethod = function() {
            alert('欢迎使用')
        }

2. 删除对象中的属性

delete 对象名.属性名

3. 修改对象中的值

对象.属性 = 值 对象.方法 = function() {}

4. 查询对象

对象.属性 (或者 对象[‘属性’]) 对象.方法()

遍历对象

对象和数组区别

  • 对象没有像数组一样的length属性,无法确定长度
  • 对象里面是无序的键值对,没有规律,不像数组里面有规律的下标

如何遍历?

语法: for in

  • 一般不用这种方式遍历数组、主要是用来遍历对象
  • 一定记住: k 是获得对象的属性名, 对象名[k] 是获得 属性值
代码语言:javascript复制
let obj = {
            uname : 'Tricia',
            age : 18,
            gender : '女'
        }
        for (let k in obj) {
            // k 是获得对象的属性名
            console.log(k) // 打印属性名
            console.log(obj[k]) // 打印属性值
            // 对象名[k] 是获得属性值
        }

内置对象

JavaScript内部提供的对象,包含各种属性和方法给开发者调用

Math

提供了一系列数学运算方法。

方法有
random:生成0-1的随机数
  1. 生成0-10的随机数

Math.floor(Math.random() * (10 1)) 2. 生成5-10的随机数

Math.floor(Math.random() * (5 1)) 5 3. 生成N-M之间的随机数

Math.floor(Math.random() * (M - N 1)) N

ceil:向上取整
代码语言:javascript复制
console.log(Math.ceil(0.95));
// expected output: 1

console.log(Math.ceil(4));
// expected output: 4

console.log(Math.ceil(7.004));
// expected output: 8

console.log(Math.ceil(-7.004));
// expected output: -7
floor:向下取整
代码语言:javascript复制
Math.floor( 45.95);
// 45
Math.floor( 45.05);
// 45
Math.floor( 4 );
// 4
Math.floor(-45.05);
// -46
Math.floor(-45.95);
// -46
max:找最大数

Math.max(value1[,value2, ...])

代码语言:javascript复制
console.log(Math.max(1, 3, 2));
// expected output: 3

console.log(Math.max(-1, -3, -2));
// expected output: -1

const array1 = [1, 3, 2];

console.log(Math.max(...array1));
// expected output: 3
min:找最小数

Math.min([value1[,value2, ...]])

abs:绝对值
代码语言:javascript复制
Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs("string"); // NaN
Math.abs();         // NaN

0 人点赞