在平时工做中,咱们看到的引用类型大多数是Object类型的实例。javascript
以下所示:java
var o = new Object();
复制代码
Object类型是一种数据类型,是全部它的实例的基础。通俗的讲,它就是一个对象,有不少基本的属性供使用它的实例使用,而且能够添加新的属性。函数
object的实例有哪些共有的属性呢?测试
var person1 = new Object();
person1.name = '对象1';
person1.age = 18
复制代码
var person2 = {
name: '对象2',
age: 18
};
复制代码
第一种方法使用new操做符和Object构造函数建立了Object引用类型的一个新实例,而后把该实例保存在了变量person1中。
第二种方法则是用一种简写的方式,一般使用对象字面量表示法比较频繁,由于它会给人封装数据的感受,同时它也是向函数传递大量可选参数的首选方式。ui
实际上:spa
var person2 = {}; // 与new Object()相同
复制代码
函数传参:code
function test(args) {
var result = '';
if (typeof args.name === 'string') {
result += 'Name:' + args.name + '\n';
}
if (typeof args.age === 'number') {
result += 'Age:' + args.age + '\n';
}
console.log(result);
}
test({
name: '测试1',
age: 18
});
test({
name: '测试2'
});
复制代码
var o = {
name: '测试',
age: 18
};
console.log(o.name);
console.log(o['name']);
var key = 'name';
console.log(o[key]);
复制代码
访问对象的属性通常是用点表示法比较多,同时也可使用方括号表示法来访问,记住方括号里面的属性名要以字符串放入就行。一般不是必须使用变量来访问的属性,通常推荐用点表示法来访问。对象
var o = new Object();
console.log(o instanceof Object)
复制代码
instanceof关键字,能够检测出该对象是不是Object类型。有人会问typeof不是也能够吗?是的,确实也能够检测出来,可是typeof null
和typeof []
获得的也是object
,因此是不建议这么使用的,由于它不够精准啊大兄弟。ip