JavaScript对象操作
本节课所讲内容:
- JavaScript 对象创建
- JavaScript对象基本操作
- JavaScript对象的函数
主讲教师:Head老师
二. JavaScript对象基本操作
1. 成员的遍历
for(sx in p){
console.log(sx);
console.log(p[sx]);
}
//属性是无序的
Object.keys(p) ;
返回数组的形式,进行排序。
2. 成员的遍历查看
对象.hasOwnProperty("属性名") 如果是本身的返回true,如果是继承的返回false
3.成员的删除
delete p.name
4.成员的特性学习
Object.getOwnPropertyDescriptor(对象,"属性名") 或得对象属性的特性
1.configurable ,属性是否可配置。可配置的含义包括:是否可以删除属性( delete ),是否可以修改属性的 writable 、 enumerable 、 configurable 属性。
2.enumerable ,属性是否可枚举。可枚举的含义包括:是否可以通过 for...in 遍历到,是否可以通过 Object.keys() 方法获取属性名称。
3.writable ,属性是否可重写。可重写的含义包括:是否可以对属性进行重新赋值。
4.value ,属性的默认值。
5.set ,属性的重写器(暂且这么叫)。一旦属性被重新赋值,此方法被自动调用。
6.get ,属性的读取器(暂且这么叫)。一旦属性被访问读取,此方法被自动调用。
5. Constructor 构造器
属于对象的一个内置属性,用来指向创建出此对象的构造器
两种方式声明的对象本质没有区别
var o={};
var o1 = new Object{};
o. Constructor===o1. Constructor;
number. Constructor;
function f(){}
f. Constructor
function. Constructor
1. Constructor
Var a = 1;
a. Constructor;
6.类型检查
typeo of操作符
返回一个字符串表示,指明它是什么类型
比如:
typeof"a" 返回字符串
typeof null返回对象 。这是javascript语言本身的一个错误,为了先后兼容一直没改,应该返回null才对。
typeof undefined返回undefined
instanceof 某个构造器的实例
o instanceof object
o instanceof o. Constructor
8.利用构造器创造对象
Var o = {name:“abc”};
Var o1 = o. Constructor
O1.name //创造了一个新的o1对象,而不是复制了o。