您的位置:首页 > 移动开发 > Objective-C

js基础-引用类型-Object对象 ★★★☆

2017-09-21 08:33 711 查看

Object类型

1. 实例化对象
所有其他对象都继承Object。
创建object实例的方式有两种:
第一个种是使用new操作符后跟Object构造函数
var person = new Object()
注意:O是大写
第二种是使用对象字面量:
var person = {

name: 'tg'

};
访问对象属性使用的是点表示法,也可以用方括号表示法来访问。
var person = {

name: 'tg'

};console.log(person.name);  // "tg"

console.log(person['name']); // "tg"

注意:如果对象属性名是不符合语法的或属性名是关键字或保留字,只能使用方括号表示法。例如:
var person = {

"1a" : 1

};

person["1a"];   //  1

person.1a  // 会报错
2、给对象添加方法
我们可以像添加属性一样给对象添加方法:
var o = {};

o.test = function(){

console.log(1);

}
o.test(); //1

3、Object对象的静态方法
3.1 Object.keys()、Object.getOwnPropertyNames()
Object.keys()
方法和
Object.getOwnPropertyNames()
方法一般用来遍历对象的属性,它们的参数都是一个对象,返回一个数组,该数组的项都是对象自身的(不是继续原型的)的所有属性名。两者的区别在于,
Object.keys()
只返回可枚举的属性,
Object.getOwnPropertyNames()
方法还返回不可枚举的属性名。
var arr = ['a', 'b'];

console.log(Object.keys(arr));  // ["0", "1"]

console.log(Object.getOwnPropertyNames(arr)); // ["0", "1", "length"]
数组的length属性是不可枚举的。
4、Object对象的实例方法
valueOf():返回当前对象对应的值,默认情况下返回对象本身。

toString():返回当前对象对应的字符串形式。

toLocaleString():返回当前对象对应的本地字符串形式。

hasOwnProperty():判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。 如果是自身的属性,返回true,否则返回false。

isPrototypeOf():判断当前对象是否为另一个对象的原型。如果是,返回true,否则返回false。

propertyIsEnumerable():判断某个属性是否可枚举。
(1)valueOf()
valueOf()
方法返回当前对象对应的值,默认情况下返回对象本身。
var o = {

name: 'tg',

age: 24

};

console.log(o == o.valueOf());  // true
(2)toString()
toString()
返回当前对象对应的字符串形式。
var o = {

name: 'tg',

age: 24

};

console.log(o.toString());  // "[object Object]"
(3)hasOwnProperty()
hasOwnProperty()
判断某个属性是否为当前对象自身的属性,还是继承自原型对象的属性。 如果是自身的属性,返回true,否则返回false。
var o = {

name: 'tg',

age: 24

};

console.log(o.hasOwnProperty('name'));  // true

console.log(o.hasOwnProperty('toString')); // false
toString()方法是继承原型的,所以返回后false。
(4)isPrototypeOf()
isPrototypeOf()
方法判断当前对象是否为另一个对象的原型。如果是,返回true,否则返回false。
function Test(){}
var t = new Test();

console.log(Test.prototype.isPrototypeOf(t)); // true

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: