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

JavaScript基础-Object类

2015-08-25 22:33 731 查看
1.概念
在JavaScript中Object是所有对象的父类,这和Java一样,也就是说所有的类继承Object,既所有的对象都继承了Object中拥有的方法。
(需要注意的是:JavaScript中使用原型继承,也就是Object.prototype中的属性和方法才会被之类继承)
2.构造函数
Object
构造函数创建一个对象包装(objectwrapper)
// Object initialiser or literal
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }

// Called as a constructor
new Object([value])
//或者直接这样
var obt = {};

参数

nameValuePair1, nameValuePair2, ... nameValuePairN
一对对名称(字符串)与值(任何值),名称与值用冒号(colon)分隔。
value
任何值3.属性
Object.length
值为1。
Object.prototype
可以为所有 Object 类型的对象添加属性。(1)
Object.prototype.
constructor
返回一个指向创建了该对象原型的函数引用。需要注意的是,该属性的值是那个函数本身,而不是一个包含函数名称的字符串。对于原始值(如1,
true
或 "
test
"),该属性为只读。
(2)
Object.prototype.
hasOwnProperty(prop)
判断某个对象是否含有指定的自身属性.和
in
运算符不同,该方法会忽略掉那些从原型链上继承到的属性(3)
Object.prototype.isPrototypeOf(object)
测试一个对象是否存在于另一个对象的原型链上。(4)
Object.prototype.
propertyIsEnumerable(prop)
返回一个布尔值,表明指定的属性名是否是当前对象可枚举的自身属性。
(4)Object.prototype.
toLocaleString()
方法返回一个该对象的字符串表示。该方法主要用于被本地化相关对象覆盖(5)
Object.prototype.toString()
方法返回一个代表该对象的字符串
(6)
Object.prototype.valueOf()
Returns the primitive value of the specified object.4.方法
Object.create()
指定原型对象和属性来创建一个新的对象。
Object.defineProperty()
给对象添加一个属性并指定该属性的配置。
Object.freeze()
冻结对象:使对象不可删除或修改它的属性。
Object.getOwnPropertyDescriptor()
返回对象指定的属性配置。
Object.getOwnPropertyNames()
返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。
Object.getPrototypeOf()
返回指定对象的原型对象。
Object.isExtensible()
判断对象是否可扩展。
Object.isFrozen()
判断对象是否已经冻结。
Object.isSealed()
判断对象是否已经密封。
Object.keys()
返回一个数组,包含指定对象的所有自有可遍历属性的名称。
Object.preventExtensions()
阻止对象扩展。
Object.seal()
密封对象以防删除。5.使用demo

例子:给定
undefined
null
类型使用
Object

下面的例子将一个空的
Object
对象存到
o
中:
var o = new Object();
var o = new Object(undefined);
var o = new Object(null);

例子:使用
Object
生成布尔对象

下面的例子将
Boolean
对象存到
o
中:
// 等价于 o = new Boolean(true);
var o = new Object(true);
// 等价于 o = new Boolean(false);
var o = new Object(Boolean());

Examples

Since Javascript doesn't exactly have sub-class objects, prototype is a useful workaround to make a “base class” object of certain functions that act as objects. For example:[code]var Person = function() {this.canTalk = true;this.greet = function() {if (this.canTalk) {console.log('Hi, I\'m ' + this.name);}};};var Employee = function(name, title) {this.name = name;this.title = title;this.greet = function() {if (this.canTalk) {console.log("Hi, I'm " + this.name + ", the " + this.title);}};};Employee.prototype = new Person();var Customer = function(name) {this.name = name;};Customer.prototype = new Person();var Mime = function(name) {this.name = name;this.canTalk = false;};Mime.prototype = new Person();var bob = new Employee('Bob', 'Builder');var joe = new Customer('Joe');var rg = new Employee('Red Green', 'Handyman');var mike = new Customer('Mike');var mime = new Mime('Mime');bob.greet();joe.greet();rg.greet();mike.greet();mime.greet();
This will output:
Hi, I'm Bob, the BuilderHi, I'm JoeHi, I'm Red Green, the HandymanHi, I'm Mike
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: