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());
This will output: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();
Hi, I'm Bob, the BuilderHi, I'm JoeHi, I'm Red Green, the HandymanHi, I'm Mike
相关文章推荐
- Objective-C 苹果开发文档 10 Conventions
- Objective-C 苹果开发文档 09 Dealing with Errors
- OutMan——Objective-C中的ARC介绍和block的使用
- Bug 9935857 - LOB indexes are missing from DBA_OBJECTS
- 关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- 论文提要“Fast Feature Pyramids for Object Detection”
- QObject是QT所有类的基类
- Objective-C实现信用卡校验
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- 黑马程序员——ios基础---Objective-C:对象特性、面向对象
- cloudant DB save,Not a JSON Object
- object-c 与 js交互的学习
- sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file
- 多线程和MsgWaitForMultipleObjects
- OutMan——Objective-C内存管理
- Objective-C更改placeholder字体颜色
- Objective-C中的浅拷贝和深拷贝
- Objective-C 【@property和@synthesize关键字】
- Objective-C 【@property和@synthesize关键字】
- 用apktool反编译的时候出错:Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: