对象是一组无序的相关属性和方法的集合,所有事物都是对象,列如字符串、数字数组函数等数据类型
- 变量 属性
相同点:
都是来存储数据的
不同点:
变量是单独存在并赋值 使用的时候直接写变量名 单独存在
属性在对象里面不需要声明,使用的时候必须是 对象.属性
- 函数 方法
相同点:
都是实现某种功能,某件事
不同点:
函数是单独声明 并且调用的函数名()单独存在
方法在对象里面 调用的时候 对象.方法()
- 数据类型
一、基本数据类型:
number string boolean null undefined
10|10.98 "" true|false null undefined
二、复杂数据类型:
Object 对象 function 函数 Array 数组 Math数学等
- 创建方式
方法一: 字面量方式创建 1、多个属性或方法逗号隔开 2、方法冒号后面是一个匿名函数 var 引用变量={ 属性名:属性值, 方法名:function(){}-是匿名函数 } 对象外赋值: 对象名['属性名']=属性值 对象外赋值: 对象名.属性名==属性值 对象访问调用 对象名['属性名']------可以是变量动态赋值和访问 对象名.属性名----固定的属性 对象名.方法名() 方法二: 构造函数、利用=赋值的方法 添加对象和属性 var obj=new Object(); obj.name=''; obj.sathi=function(){}; 对象名['属性名']=属性值 对象访问调用 对象名.属性名 对象名['属性名'] 对象名.方法名() 方法三:构造函数、把多个对象相同的代码和方法抽象出来封装到函数里面 function Duix(x, y) { this.name = x; this.age = y; //this指向函数的调用者 this.fun = function () { //不需要return console.log('123'); } } var obj2 = new Duix('张三', 18) //用new 实例化一个对象 obj2.sex = '男' console.log(obj2.sex); // 输出'男' console.log(obj2['sex']); // 输出'男' obj2.fun() // 输出123-- //构造函封装好的方法 console.log(obj2.name); // 输出'张三' //构造函封装好的属性
- 对象的遍历
一、for-in 可以循环遍历对象,数组,字符串
1、遍历对象,访问对象属性,
2、遍历数组,访问数组索引号,
3、遍历字符串,访问字符串索引号
二、for-of for-of 可以遍历数组,字符串和Map(集合,后面学习), 不能遍历对象
1、遍历数组,访问数组元素
2、遍历字符串,访问字符串字符元素
var obj = { name: 'jack', age: 20 } let arr = [10,20,30] let str = 'hello' //for-in遍历对象,获取对象属性 for (var key in obj) { console.log(`key : ${key} value: ${obj[key]}`); } //for-in遍历数组,获取数组下标 for(let key in arr){ console.log(key); } //for-in遍历字符串,获取字符下标 for(let key in str){ console.log(key); }
var obj = { name: 'jack', age: 20 } let arr = [10,20,30] let str = 'hello' let map = new Map([["姓名", "小王"],["年龄","23"]]) //一种存储数据的结构,后面学习内容 //for-of不能遍历对象 for (let v of obj) { console.log(v); } //for-of遍历数组,获取数组元素 for(let v of arr){ console.log(v); } //for-of 遍历字符串,获取字符元素 for(let v of str){ console.log(v); } //for-of遍历Map集合 for(let v of map){ console.log(v); }
区别:
for in可以遍历对象,for of不能遍历对象 B 、for of可以用来遍历map集合,for in不能遍历map集合 C 、for in遍历数组得到的是数组的下标,for of遍历数组得到的是数组的元素 D 、for in遍历键 for of遍历值
对象Object复杂数据类型、简单对象
于 2022-04-29 18:30:44 首次发布