js基础(五)

js基础(五),第1张

定义:

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

对象是一种无序的数据集合

数据是一种有序的数据集合

用来描述一个事物,比如描述人

静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示

动态行为 (点名, 唱, 跳, rap) => 使用函数表示

1、对象声明语法

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

let obj = {}   这是一个空对象

 构造函数  new 关键字
 let obj1 = new Object

对象里面包含属性 和 方法

属性 : 在对象里面定义的属性本质就是变量

方法:在对象里面定义的方法本质就是函数

2、属性

let obj = {
  属性名 :属性值
} 

注意事项:

        属性名和属性值之间使用 : 隔开

多个属性之间使用 ,隔开

3、对象的 增删改查 *** 作

let obj = {
      uname:'加钱居士',
      age:37,
      'user-gender': '男',
      hobby:'加钱',
    }

3-1 查询属性 查 对象.属性名

属性名 : 存在, 则获取的是属性值

属性名 : 不存在, 则获取的是undefined

console.log(obj.uname)

 3-2 修改属性 改 对象.属性名=值

obj.age = 69
console.log(age)

 3-3添加属性 增 对象.新属性名=值

obj.weight = 200

 改 与 增 的语法是相同的,有这个属性就是改,没有这个属性就是改

 3-4 删除 delete 对象名.属性名

    delete obj.age
    console.log(obj)

 3-5查询的另一种写法

 当属性名中 有中横线 这种符号时,会把-当做数学符号解析

 这种情况下,查询对象方法   对象['属性名']

console.log(obj['user-gender'])

查询总结

 方法(1) 对象.属性名

console.log(obj.uname)

 方法(2) 对象['属性名']

console.log(obj['user-gender'])

 4、对象中的方法

 在对象外面称之为 函数 ,在对象里面称之为 方法

 方法是由方法名和函数两部分构成,它们之间使用 : 分隔

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

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

 方法名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

// 对象
    let person = {
      // 属性名:属性值
      uname:'催逝员',
      task:'我滴任务完成了',
      
      // 方法:
      // 在对象外面称之为 函数 ,在对象里面称之为 方法
      fn:function(x,y)/* 形参 */{
        console.log(x + y);
      }
    }

    person.fn(1,2)    // 实参

5、遍历对象

能够遍历输出对象里面的元素

遍历数组:for

遍历对象:for in

for(let k in 对象名){
      k的作用用于代表对象里面的属性名
      对象名[k]是获得属性值
    }

 //  对象
    let person = {
      uname:'催逝员',
      task:'我滴任务完成了',
      sex : '男',
    }
    // 遍历对象
    for(let k in person){
      console.log(k)        //k打印出来的是 'uname' 'task' 'sex'    ,属于是字符串类型
      // console.log(person.k)  因为对象里面没有k,所以打印出来的是 undefined
      console.log(person[k])    //'uname'  === k
    }

6、内置对象 Math

Math对象是JavaScript提供的一个“数学”对象,它提供了一系列做数学运算的方法

Math对象包含的方法有:

  random:生成0-1之间的随机数(包含0不包括1)

  ceil:向上取整

  floor:向下取整

  max:找最大数

  min:找最小数

  pow:幂运算

  abs:绝对值

生成N-M之间的随机数

 

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

以下函数返回 min(包含)~ max(不包含)之间的数字

  function getRndInteger(min, max) {

    return Math.floor(Math.random() * (max - min) ) + min;

  }

以下函数返回 min(包含)~ max(包含)之间的数字:

  function getRndInteger(min, max) {

    return Math.floor(Math.random() * (max - min + 1) ) + min;

  }

近期术语解释

关键字    在JavaScript中有特殊意义的词汇    例如:let、var、function、if、else、switch、case、break

保留字  在目前的JavaScript中没意义,但未来可能会具有特殊意义的词汇     例如:int、short、long、char

标识(标识符)    变量名、函数名的另一种叫法      目前没有例子

表达式    能产生值的代码,一般配合运算符出现       例如:10 + 3、age >= 18

语句        一段可执行的代码        例如:If () for()

7、基本数据类型和引用数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型

string ,number,boolean,undefined,nul

引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型

通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

8、堆栈空间分配区别

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

简单数据类型存放到栈里面

堆( *** 作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

引用数据类型存放到堆里面

(1)简单类型的内存分配

值类型(简单数据类型): string ,number,boolean,undefined,null

值类型变量的数据直接存放在变量(栈空间)中

(2)复杂类型的内存分配

引用类型(复杂数据类型):通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1322457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存