1. 对象
对象是一个具体的事务,万物皆对象
在JS中,对象是一组无序的相关属性和方法的集合,所有的事务都是对象,例如字符串、数值、数组和函数等。
对象是由属性和方法组成的
- 属性:事务的特征,在对象中用属性来表示(常用名词)
- 方法:事务的行为,在对象中用方法来表示(常用动词)
- 如图形象表示对象的属性和行为
保存一个值可以用变量
保存一组值可以用数组
而要保存一个人的完整信息就需要用到对象了,JS中的对象表达结构更清晰,更强大。
2. 创建对象的三种方式
1. 利用 字面量 创建对象
对象字面量:就是花括号 {} 里面包含了表达这个具体事物(对象)的属性和方法
- 语法
- 里面的属性或者方法采取的是键值对的形式, 键 属性名: 值 属性值
- 多个属性或方法用逗号隔开
- 方法冒号后面跟的是一个匿名函数
- 使用对象
(1)调用对象的属性 对象名.属性名
(2)另一种调用属性的方式: 对象名[‘属性名’]
(3)上面两种调用属性方式都重要,都要学会使用
(4)调用对象的方法 对象名.方法名()
demo
var keke ={
dogName: '可可',
type: '阿拉斯加',
age: 5,
color: 'brown',
bark: function(){
console.log('汪汪汪');
},
showFilm: function(){
console.log('演电影');
}
}
console.log(keke);
2 利用 new Object 创建对象
- 利用 = 赋值的方法 添加对象的属性和方法
- 每个属性和方法用分号结束
- 调用的方法上面是一样的
var obj = new Object();
obj.uname = '鸣人';
obj.sex = '男';
obj.age = 19;
obj.skill = function(){
console.log('影分身术')
}
console.log(obj)
3 构造函数 创建对象
前面两种创建函数的方式都只能一次创建一个对象,创建多个对象里面的属性和方法是大量相同的,我们可以利用函数的方法,重复这些相同的代码,我们就把这个函数称为构造函数(函数里面封装的是对象)。
构造函数:就是把对象里面一些相同的属性和方法抽象出来封装到函数里面
要点
- 构造函数 名字首字母要大写
- 构造函数不需要return 就可以返回结果
- 调用构造函数 必须使用new
- 只要new 调用了函数就创建一个对象
- 属性和方法前面 必须添加this
demo
function Star(uname, age, sex){
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang){
console.log(sang);
}
}
var ldh = new Star('刘德华', 18, '男'); // 调用构造函数返回的是一个对象
ldh.sing('冰雨'); //调用方法
console.log(typeof ldh);
构造函数和对象:
- 构造函数 泛指某一大类
- 对象 是一个具体的事物
- 利用构造函数创建对象的过程 称为对象的实例化
变量、属性、函数和方法总结:
- 变量和属性的相同点,他们都是用来存储数据的
- 变量 单独声明并赋值 使用的时候直接写变量名 单独存在
- 属性 在对象里面 不需要声明 使用的时候必须加上对象
- 函数和方法的相同点 都是实现某种功能 做某件事
- 函数是单独声明 并且调用的 函数名() 单独存在的
- 方法 不需要声明在对象里面 调用的时候 对象.方法()
3. new关键字
new 关键字的执行过程
- new 构造函数可以在内存中创建一个空的对象
- this 会指向刚创建的空对象
- 执行函数里面的代码,给这个空对象添加属性和方法
- 返回这个对象(所以构造函数里不需要return)
4.遍历对象属性
for…in 遍历对象
var keke ={
dogName: '可可',
type: '阿拉斯加',
age: 5,
color: 'brown',
bark: function(){
console.log('汪汪汪');
},
showFilm: function(){
console.log('演电影');
}
}
// 遍历对象
for (var k in keke) {
console.log(k); //k 变量 不需要赋值 得到 属性名
console.log(keke[k]); // keke[k] 得到属性值
}
5.内置对象
1. 内置对象概念
JS中对象分为3种:自定义对象(上面学的),内置对象,浏览器对象
前面两种是js基础内容, 属于ECMAScript,第三个浏览器对象是JS独有的
内置对象:指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或者是最基本而必要的功能(属性和方法)。优点就是帮助我们快