开门见山——JS对象
JS中数据类型
-
String 字符串
-
Number 数值
-
Boolean 布尔值
-
Null 空值
-
Undefined 未定义
- 以上五种为基本数据类型。除了上边5种,其余全是对象。
-
object 对象
使用基本数据类型表示一个人的信息(name sex age),不能成为一个整体。
var name = "张三";
var sex = "男";
var age = 19;
对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
对象的分类:
- 内建对象
- 由ES标准中定义的对象,在任何的ES的实现中都可以使用
- 比如:Math String Number Boolean Function Object…
- 宿主对象
- 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
- 比如:BOM DOM
- console.log() 中的 console,document.write() 中的 document。
- 自定义对象
- 由开发人员自己创建的对象
//创建对象
/*
* 使用new关键字调用的函数,是构造函数constructor
* 构造函数是专门来创建对象的函数
*/
var obj = new Object();
//向obj中添加一个name属性
obj.name = "张三";
//向obj中添加一个sex属性
obj.sex = "男";
//向obj中添加一个age属性
obj.age = 19;
console.log(obj);
读取对象中的属性:
对象.属性名
如:console.log(obj.name); // “张三”
修改对象的属性值:
对象.属性名 = 新值
如:obj.name = “李四”;
删除对象的属性:
delete 对象.属性名
如:delete obj.name;
属性名:
对象的属性名不强制要求遵守标识符的规范,什么名字都可以使用(不推荐)。如:obj.var = “hello”。但是obj.123会报错,如果要使用特殊的属性名不能采用.的方式来操作。需要用另一种方式:对象[“属性名”] = 属性值。 取数据也需要采用 对象[“属性名”] 来取值。
obj["123"] = 123;
var n = "123";
console.log(obj["123"]);//字面量
console.log(obj[n]);//变量->字面量 中括号内传变量,输出一样,使用灵活
属性值:
JS对象的属性值,可以是任意的数据类型。可以在一个对象的属性里存一个对象。
in 运算符:
如果不知道一个对象里有没有某个属性,可以利用 in 运算符,该运算符可以检查一个对象中是否含有指定的属性,如果有则返回true,无则false。如:
console.log("test" in obj);