目录
1,对象
为什么需要对象?
一个数字,一个字符串,我们可以用变量来保存
一组数字,一组名字,我们可以用数组来保存
那么一个人的信息呢?
一个人有年龄,性别,姓名,身高,体重,等等这些信息
人还有,唱歌,跳舞,开车,跑步,游泳,等等这些动作
一个数组好像不好保存这些数据,用多个数组呢,又太麻烦了吧
所以,我们呢,需要一个办法来储存这些比较复杂的信息
这个办法,就是对象啊
什么是对象?
对象呢,由属性和方法组成
属性
:事物
的
特征,
在
对象中用
属性
来表示(常用名词)
方法
:事物
的
行为,
在
对象中用
方法
来表示(常用动词)
属性就是记录 年龄,性别,姓名,身高,体重等信息
方法就是记录 唱歌,跳舞,开车,跑步,游泳等动作
2,创建对象的三种方法
(1)字面量创建对象
对象字面量:就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法。
{ } 里面采取键值对的形式表示
键
:相当于属性名
值:相当于属性值,可以是任意类型的值(
数
字
类型
、字符串类型、布尔类型
,函数类型等)
①创建一个对象
//创建一个对象
var yzs = {
name:'亚梓莎',
age:300,
sex:'女',
action:function(){
alert('唱歌,跳舞,做饭,游泳')
}
}
②调用对象
//创建一个对象
var yzs = {
name:'亚梓莎',
age:300,
sex:'女',
action:function(){
alert('唱歌,跳舞,做饭,游泳')
}
}
//调用属性
console.log(yzs);
console.log(yzs.name);
console.log(yzs['name']);
//调用方法
yzs.action(); //后面要带括号
(2)利用 new Object 创建对象
Object
()
:
第一个字母大写
new
Object()
:
需要
new
关键字
使用的
格式
:
对象
.
属性
=
值
;
//利用new Object创建对象
var yzs = new Object();
yzs.name = '亚梓莎';
yzs.age = '300';
yzs.sex = '女';
yzs.action = function(){
alert('你学会了吗?')
}
//调用对象
console.log(yzs);
console.log(yzs.name);
console.log(yzs['name']);
yzs.action()
(3)利用构造函数创建
构造函数 :
是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
//基础语法
//创建构造函数
function 构造函数名() {
this.属性 = 值
this.方法 = function() {
}
}
//使用
new 构造函数名();
//创建一次构造函数
function Yzs(myname, myage, mysex) {
this.name = myname;
this.age = myage;
this.sex = mysex;
this.action = function () {
alert('你学会了吗?')
}
}
//第一次使用
var sc = new Yzs('亚梓莎', 300, '男');
console.log(typeof sc); //返回object,调用函数返回的是一个对象
console.log(sc);
console.log(sc.name);
console.log(sc['name']);
console.log(sc.action());
//第二次使用
var ny = new Yzs('诺亚','无穷','神秘')
console.log(ny.name);
console.log(ny.age);
console.log(ny.sex);
//可以多次使用
注意
1. 构造函数约定首字母大写。
2. 函数内的属性和方法前面需要添加 this ,表示当前对象的属性和方法。
3. 构造函数中不需要 return 返回结果。
4. 当我们创建对象的时候, 必须用 new 来调用构造 函数。3,对象的属性方法与变量,函数对比
变量
:单独
声明
赋值
,
单独
存在
属性
:对象
里面的
变量
称
为
属性
,不
需要声明
,用来
描述该对象的特征
函数
:单独
存在的
,
通过“
函数名()
”的方式
就可以
调用
方法
:对象
里面的
函数
称
为
方法
,
方法
不
需要声明
,
使用“
对象
.方法名
()
”的方式就可以调用,方法
用来描述
该
对象
的行为和功能。
4,内置对象
以后再写哈