欢迎来到天天文库
浏览记录
ID:30775925
大小:76.50 KB
页数:5页
时间:2019-01-03
《javascript知识点总结(十一)之js中的object类详解_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JavaScript知识点总结(^一)之js中的Object类详解JavaScript中的Object对象,是JS中所有对象的基类,也就是说JS中的所有对象都是由Object对彖衍生的。Object对象主耍用于将任意数据封装成对象形式。一、Object类介绍Object类是所有JavaScript类的基类(父类),提供了--种创建自定义对象的简单方式,不再需要程序员定义构造函数。二、Object类主要属性1.constructor:对象的构造函数。2.prototype:获得类的prototype对彖,static性质。三、Object类主要方法1.h
2、asOwnProperty(propertyName)判断对象是否有某个特定的展性。必须用字符吊指定该展性,例如,obj.hasOwnProperty(^name^),返回布尔值。此方法无法检查该对彖的原型链屮是否具有该属性;该属性必须是对彖本身的一个成员。〃〃varstr=;alert("str.hasOwnProperty(z,splitz,)的结果是:,z+str.hasOwnProperty(〃split〃));//returnfalsealert("String,prototype.hasOwnProperty(,zsplit/z)的
3、结果是:〃+String.prototype.hasOwnProperty(〃spli);//returntrue运行结果:fStringprototype.hasOwnProperty("d丫str.hasOwnPropertyCsplit")的结果是:false确定hasOwnProperty的用法不仅仅在此,在Jquery屮在编写插件屮,少不了的一步,就是初始化参数,其中一个很重要的方法就是$.extend();他的原理就是应用了hasOwnProperty()方法;利用forin循环遍历对象成员中,有没有相同名称的对象成员,有的话就用这个
4、新的对象成员替换掉旧的,通过这种方式,我们就可以通过修改方法中的参数变化,从而控制程序的流程,而对于那些没有改变的部分,仍使用默认值进行控制,我们门己也可以简单的模拟一下这个extend函数,如下functionextend(largel,source){//targelI口的source新的for(variinsource){if(targct.hasOwnProperty(i)){target[i]=source[i];}}returntarget;}vara={first:,second:lyl,tnird:bob);varb二{〃third":
5、〃leo"};extend(a,b);for(variina){alert(a[i]);//原本是bob,现在变成lcoT}1.isPrototypeOf(object)判断该对象是否为另一个对象的原型。objl.isPrototypeOf(obj2);objl是一个对象的实例;obj2是另一个将要检杳其原型链的对象。原型链可以用来在同一个对象类型的不同实例Z间共享功能。如果obj2的原型链屮包含objl,那么isPrototypeOf方法返冋true。如果obj2不是一个对象或者objl没有出现在obj2中的原型链中,isPrototypeOf方法将
6、返回false。functionfoo(){this・name='foo,;}functionbar(){}bar.prototype=newfoo();vargoo=newbar();alert(goo.name);//fooalert(bar.prototype,isPrototypeOf(goo));//true,在bar的原型链中有当前对象goo,则isPrototypeOf方法返冋true2.propertylsEnumerable(propertyName)通过
7、这个方法我们可以检测出这个对象成员是否是口J遍历的,如果是可遍历出來的,证明这个对象就是可以利用forin循环进行遍历的,格式女I丨卜:obj.property1sEnumerab1e(propertyName)如果propertyName存在于obj中且可以使用一个For、・・・In循环穷举出来,那么propertylsEnumerable属性返回true。如果object不具有所指定的属性或者所指定的属性不是可列举的,那么propertyIsEnumereib1e属性返冋falseo典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。1
8、.toStringO:返回对象对应的字符串2.valueOf():返回对象对应的原始类型以上5
此文档下载收益归作者所有