思维导图在第一章,有需要的小伙伴可以去看下。有任何疑问也可以随时练习我。
对象
对象:(是一个具体的事物)
对象是由属性和方法组成的。
属性:事物的特征, 在对象中用属性来表示(常用名词)
方法:事物的行为,在对象中用方法来表示(常用动词)
对象和数组的异同点
-
相同点:都可以存储多个数据
-
不同点: 存储相同的类型数据
数组: 有序存储,下标从考试递增
对象:无需存储, 属相名和属性值一一对应(键值对)
对象声明:
-
利用字面量创建对象
var obj = { uname: '张三疯', age: 18, sex: '男', sayHi: function () { console.log('hi~'); } }
-
利用new object创建对象
var obj = new Object(); //创建了一个空的对象 obj.uname = '张三疯'; obj.age = 18; obj.sex = '男'; obj.sayHi = function () { console.log('hi~'); }
-
利用构造函数创建对象
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('攻击:远程');
对象查询
-
查对象属性特点:
- 属性名 存在 则显示获取属性值
- 属性名 不存在 则获取的是undefined
-
对象取值有两种语法:
- 点语法 对象名.属性名(
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等
数据类型分类
-
值类型(简单的数据类型String、boolean、 number、undefined、null)栈中存储数据,赋值拷贝的是数据,修改拷贝后对原数据没有什么影响
-
引用类型(复杂数据类型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()等效 |