【JavaScript】对象

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

JS Day 5 对象

对象

定义

对象object一种数据类型无序的数据集合

对象特点可以详细的描述某个事物

使用

声明语法

let 对象名={}
let person={}

对象由属性和方法组成

属性信息/特征为名词

方法功能/行为为动词

let 对象名={
    属性名属性值,
    方法名函数
}

属性

属性数据描述性的信息

成对出现包括属性名和值二者之间用英文冒号:分隔

多个属性之间用英文逗号,分隔

属性是依附在对象上的变量外面是变量对象内是属性对象属性没有顺序

属性访问

属性访问获取对象里面的属性值

声明对象并添加若干属性后可以使用 . 或 [] 获取对象中属性对应的值

let person={
    name:'morley',
    age:21,
    sex='Female'
}
//way 1
console.log(person.name)
console.log(person.age)
//way 2
console.log(person['name'])
console.log(person['age'])

点后面的属性名一定不加引号

[]里面的属性名一定加引号

对象中的方法

方法数据行为性的信息本质是函数

let person={
    name:'morley',
    hello:function(){
        document.write('hello js')
    }
}

方法由方法名和函数构成二者之间用 : 分隔

多个属性之间用 , 分隔

方法是依附在对象中的函数

对象中的方法访问

方法调用声明对象并添加若干方法后可以使用 . 调用对象中的函数

语法对象.方法()可以传参

let person={
    name:'morley',
    hello:function(){
        document.write('hello')
    }
}

person.hello()

操作

操作数据——增删改查

无论是属性或方法同一个对象中出现名称一样的后者会覆盖前者

增加属性

可以动态添加对象属性

let person={
    name:'morley',
    age:21,
}
person.hobby='football'
person['sex']='Male'
console.log(person)

新增对象中的方法

可以动态添加对象方法

person.move=function(){
    document.write('move a little bit')
}

遍历

let obj={
    name:'xxx',
    age:20,
    sex='MALE'
}
for(let k in obj){
    console.log(k)
    //打印属性名
    
    console.log(obj[k])
    //打印属性值
}

内置

内置对象

JS内部提供的对象包括各种属性和方法

eg.

document.write()
console.log()

Math对象

提供一系列做数学运算的方法

1random生成[0,1)之间的随机数

2cell向上取整

3floor向下取整

4max找最大数

5min找最小数

6pow幂运算

7abs绝对值

生成任意范围的随机数

生成N~M之间的随机数

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

堆栈空间分配区别

由操作系统自动分配释放存放函数的参数值、局部变量值等其操作方式类似于数据结构中的栈

简单数据类型存放到栈内

存储复杂类型对象一般由程序员分配释放若程序员不释放则由垃圾回收机制回收

引用数据类型存放到堆内

Day 5 EXAMPLE

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 300px;
            height: 300px;
            background-color: pink;
            margin: 100px auto;
        }
    </style>
</head>

<body>
    <script>
        // 简单数据类型存储的是值
        let num1 = 10
        let num2 = num1
        num2 = 20
        console.log(num1)

        // 对象 引用数据类型    栈里面存储的是地址
        let obj1 = {
            age: 18
        }
        let obj2 = obj1
        obj2.age = 20
        // console.log(obj1, obj2)
        console.log(obj1)   // 20 
    </script>

</body>

</html>
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: JavaScriptJava