- 属性:事物的,在对象中用来表示(常用名词)
- 方法:事物的,在对象中用来表示(常用动词)
保存一个值时,可以使用变量
保存多个值时,可以使用数组
但是保存的信息都不够完善,所以就有了对象
1.利用字面量创建对象(最常用的方法)
2.利用new object创建对象
3.利用构造函数创建对象
就是用花括号{}里面包含了表达这个具体事物(对象)的属性和方法
<script>
//利用字面量创建对象
var obj = {}; //创建了一个空对象
</script>
1.对象的属性或方法采用键值对的形式
2.对象多个属性或方法用冒号隔开,最后一个可以不用逗号,但是写了也不错
3.方法后面跟的是一个匿名函数
<script>
var obj = {
userName: '张三',
age: 18,
sex: '男',
sayHi: function() {
console.log('hi~');
}
}
</script>
1.调用对象的属性:对象名.属性名。如上例要打印姓名:
console.log(obj.userName);
可以理解为:对象的(名字、性别、年龄)···
2.调用属性的另一种方法:对象名['属性名'];
console.log(obj['userName']);
1.对象名.方法名();
obj.sayHi();
用对象字面量的形式创建一个名字为可可的狗的对象
具体信息如下:
姓名:可可
类型(type):阿拉斯加犬
年龄:5岁
颜色:棕红色
技能:汪汪汪(bark),演电影(showFilm)
1.变量和属性的相同点:都是用来存储数据的
不同点是:变量是单独声明并赋值,使用的时候直接写变量名,单独存在
属性是在对象里面的,不需要声明,使用的时候 对象名.属性
2.函数和方法的相同点:都是实现某种功能,做某件事
不同点:函数是单独声明,单独存在,调用:函数名();
方法在对象里,调用的时候 :对象.方法();
var obj = new Object();//创建一个空对象,O要大写
obj.uname = '张三';//给对象添加一个属性(追加)
obj.age = 18;
obj.sex = '男';
obj.sayHi = function(){
aonsole.log('hi~');
}
1.利用等号赋值的方法添加对象的属性和方法
2.每个属性和方法之间用分号结束
3.调用:跟之前一样,对象名.属性名
;对象名.方法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var obj = new Object();
/*
* 向对象中添加属性
* 属性名:
* - 对象的属性名不强制要求遵守标识符的规范
* 什么乱七八糟的名字都可以使用
* - 但是我们使用是还是尽量按照标识符的规范去做
*
*/
obj.name = "孙悟空";
//obj.var = "hello";
/*
* 如果要使用特殊的属性名,不能采用.的方式来操作
* 需要使用另一种方式:
* 语法:对象["属性名"] = 属性值
* 读取时也需要采用这种方式
*
* 使用[]这种形式去操作属性,更加的灵活,
* 在[]中可以直接传递一个变量,这样变量值是多少就会读取哪个属性
*
*/
obj["123"] = 789;
obj["nihao"] = "你好";
var n = "nihao";
//console.log(obj["123"]);
/*
* 属性值
* JS对象的属性值,可以是任意的数据类型
* 甚至也可以是一个对象
*/
obj.test = true;
obj.test = null;
obj.test = undefined;
//创建一个对象
var obj2 = new Object();
obj2.name = "猪八戒";
//将obj2设置为obj的属性
obj.test = obj2;
//console.log(obj.test.name);
/*
* in 运算符
* - 通过该运算符可以检查一个对象中是否含有指定的属性
* 如果有则返回true,没有则返回false
* - 语法:
* "属性名" in 对象
*/
//console.log(obj.test2);
//检查obj中是否含有test2属性
//console.log("test2" in obj);
//console.log("test" in obj);
console.log("name" in obj);
</script>
</head>
<body>
</body>
</html>
网友评论