JS基础复习-对象(5)

思维导图在第一章,有需要的小伙伴可以去看下。有任何疑问也可以随时练习我。

对象

对象:(是一个具体的事物)

对象是由属性和方法组成的。

​ 属性:事物的特征, 在对象中用属性来表示(常用名词)

​ 方法:事物的行为,在对象中用方法来表示(常用动词)

对象和数组的异同点

  • 相同点:都可以存储多个数据

  • 不同点: 存储相同的类型数据

    数组: 有序存储,下标从考试递增

    对象:无需存储, 属相名和属性值一一对应(键值对)

对象声明:

  1. 利用字面量创建对象

    	var obj = {
                    uname: '张三疯',
                    age: 18,
                    sex: '男',
                    sayHi: function () {
                        console.log('hi~');
                    }
                    }
    
  2. 利用new object创建对象

     	var obj = new Object(); //创建了一个空的对象
            obj.uname = '张三疯';
            obj.age = 18;
            obj.sex = '男';
            obj.sayHi = function () {
                console.log('hi~');
            }
    
  3. 利用构造函数创建对象

      	function Wzry(name, type, blood) {
                this.name = name;
                this.type = type;
                this.blood = blood;
                this.attack = function (Att) {
                    console.log(Att);
                }
            }
            var lp = new Wzry('廉颇', '力量型', '500血量');
            console.log(lp);
            lp.attack('攻击:近战');
            var hy = new Wzry('后裔', '射手型', '100血量');
            console.log(hy);
            hy.attack('攻击:远程');
    

对象查询

  1. 查对象属性特点:

    • 属性名 存在 则显示获取属性值
    • 属性名 不存在 则获取的是undefined
  2. 对象取值有两种语法:

    • 点语法 对象名.属性名(obj.name)
    • [ ]语法 对象名['属性名'] 对象名[变量名]

修改对象属性

	let obj = {
            name: '王五',
            age: 10,
            sex: '男'
        }
	obj.name = '张三' //修改对象属性
  • 对象名.属性名 = 值
  • 对象名[‘属性名’] = 值

新增属性(和改是一样的语法

​ (1)如果已经存在的属性赋值,则是修改

​ (2)如果不存在的属性赋值,则是新增

删除对象属性

​ delete 对象性.属性名

	let obj = {
            name: '王五',
            age: 10,
            sex: '男'
        }

       delete obj.name  //删除name属性

案例:

	let obj = {
            name: '王五',
            age: 10,
            sex: '男'
        }

        obj.names = '张三' //新增names属性
        delete obj.name //删除name属性
        obj.sex = '女' //修改对象里面的sex属性值
        console.log(obj)

遍历对象(查询对象所有属性)

	let obj = {
      name: '王五',
      age: 10,
      sex: '男'
    }
    for (let key in obj) {		//循环--遍历obj对象
      console.log(obj[key])
    }

内置对象

对象

​ 对象分为3种:自定义对象、内置对象、浏览器对象

内置对象

​ 内置对象:是指js种自带的一些对象,并提供了一些常用的最基本的必要的功能(属性和方法)

​ 优点:帮助我们快速开发。

​ 常见的内置对象有:Math 、Date 、 Array 、String等

数据类型分类

  1. 值类型(简单的数据类型String、boolean、 number、undefined、null)栈中存储数据,赋值拷贝的是数据,修改拷贝后对原数据没有什么影响

  2. 引用类型(复杂数据类型array、function、object)栈中存储地址,堆里面存放数据,赋值拷贝的是地址,修改拷贝后的数据对原数据有影响

数组转换为字符串

方法名说明返回值
toString()把数组转换成字符串,逗号分隔每一项返回一个字符串
join(‘分隔符’)方法用于把数组中的所有元素转换为一个字符串返回一个字符串
// 数组转换为字符串
        // 1.将toStrong()将为我们的数组转换为字符串
        var arr = [1 , 2 ,3];
        console.log(arr.toString());    // 1,2,3
        // 2.join(分隔符)
        var arr1 = ['green' , 'blue' , 'pink'];
        console.log(arr1.join());    //green,blue,pink
        console.log(arr1.join('-'));    //green-blue-pink
        console.log(arr1.join('&'));    //green&blue&pink

根据位置返回字符

方法名说明使用
charAt(index)返回指定位置的字符(index 字符串的索引号)str.charAt(0)
charCodeAt(index)获取指定位置处字符的ASCI码(index索引号)str.charCodeAt(0)
str[index]获取指定位置处字符HTML5,IE8支持和charAt()等效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值