分享Js小基础(6)

164 阅读2分钟

对象

一、什么是对象?

1.对象(object):JavaScript里的一种数据类型 2.可以理解为是一种无序的数据集合 3.可以详细的描述描述某个事物

比如描述 一个人的 信息: 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示 动态行为 ( 唱, 跳, rap。打篮球,) => 使用函数表示

二、对象的使用

1.对象声明语法

let 对象名={}

 <script>
      // 声明一个变量
      let person ={}
    </script>
2.对象由属性和方法组成

①属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等… ②方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏…

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

数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

<script>
        let person={
            name:'jack',
            age:20,
            sex:'男'
        }
 </script>

注意: ①属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔 ②多个属性之间使用英文 , 分隔 ③属性就是依附在对象上的变量(外面是变量,对象内是属性)

4.属性访问

声明对象,并添加了若干属性后,可以使用 . 或 [] 获得对象中属性对应的值,就是获得对象里面的属性值。

<script>
        let person={
            name:'jack',
            age:20,
            sex:'男'
        }
        // 方法1:
        console.log(person.name)
        console.log(person.age)
        // 方法2:
        console.log(person['name'])
        console.log(person['age'])
    </script>
</body>
5.对象中的方法

数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

<script>
       let person={
           name:'jack',
           sayHi:function () {
               document.write('hi~')
           }
       }
  </script>

①方法是由方法名和函数两部分构成,它们之间使用 : 分隔 ②多个属性之间使用英文 , 分隔 ③方法是依附在对象中的函数

6.对象中的方法访问

声明对象,调用对象中函数,

 <script>
        let person = {
            name:"jack",
            sayHi:function () {
                document.write('hi~')
            }
        }
        // 对象名,方法名()
            person.sayHi()
    </script>

注意: 千万别忘了给方法名后面加小括号

三、操作对象

对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法:

1649080366330.png

1.增加属性
 <script> 
	let person = {
        username: '程序猿',
      };

      增加 一个新的属性
      person.username="普通人";
      修改
      person.username = '普通人';
   </script>   
增加属性和修改属性都是同样的写法
如果该属性对象中没有,表示新增
如果该属性对象中已经存在,表示修改
2.新增对象中的方法
 <script>
	let person = {};

       新增一个方法  匿名函数 固定写法
      person.sayHi = function  () {
        document.write('这个是我们新增的sayHi 方法');
      };
   </script>  
3.删除对象中的属性
 <script>
      // 声明一个对象
      let person={
        username:"海贼王"
      };

      // 不想看了  给删除掉
      delete person.username;  // 删除对象中的  username属性

      console.log(person.username); // undefined 
    </script>

四、遍历对象

 <script>
      // 创建一个对象
      let person = {
        age: 18,
        username: '普通人',
        height: 180,
      };
      // 遍历对象  forin
      for (let k in person) {
        // console.log(k);
        // console.log(person.k); // 找对象中  属性名 "k"

        // k 表示变量 k = "username"
        // console.log(person[k]);
        // person["username"] // k 表示变量 k = "username"

        console.log((k ) (person['k']));
      }
     </script> 

注意: k 是获得对象的属性名, 对象名[k] 是获得 属性值

五、内置对象

内置对象Math提供了一系列做数学运算的方法

    <script>
    
      // 常用

       random() 返回一个随机数   包含0 不包含1
       console.log(Math.random());
	   上取整
       Math.ceil(0.1) = 1  
       Math.ceil(0.001) = 1
       console.log(Math.ceil(0.1)); 

       下取整
       console.log(Math.floor(1.9)); // 1

       四舍五入
       console.log(Math.round(0.4));

       求最大值  数学对象内置有方法 算出来 最大值和最小值
       console.log(Math.max(1,2,3,4,5,6,77,4));

       最小值
       console.log(Math.min(1,2,3,4,5,6,77,4));

       幂运算  对某个数字  平方 或者 立方。。。
       2 平方  =  2 * 2
       2 立方  = 2 * 2 * 2
       console.log(Math.pow(2, 3)); // 2立方 3个2相乘
       console.log(Math.pow(2, 2)); // 2平方
       console.log(Math.pow(3, 2)); // 3 的平方 


       绝对值  -1 =  1  -2 = 2 
       console.log(Math.abs(-2));
       console.log(Math.abs(-3));



    </script>

案例1

<script>
          1. Math.random()  
              返回  0~1  
          2. 0~1  * 10 => 0 ~ 10  
             Math.random() * 10
          3. 真的可以取到0 取到10   
          Math.round(Math.random() * 10)
    
 </script>

案例2

<script>  
	function getRandom(min, max) {
        return Math.round(Math.random() * (max - min) + min);
      }
	
       console.log(getRandom(0,10));
       console.log(getRandom(5,10));
       console.log(getRandom(6,10));
    </script>

!!!公式Math.random() * (最大值 - 最小值) + 最小值 如Math.random() *(10-0)+0