javascript中对象的定义、使用以及对象和原型链操
本文实例了javascript中对象的定义、使用以及对象和原型链操作。分享给大家供大家参考,具体如下
1. 除了5种基本类型外,JS中剩下的就是对象
(1)对象的定义
直接定义
var test={x:1,y:1}
new方式创建
var test=new Object({x:1})
Object.create方式
var test=Object.create({x:1})
(2)对象上的赋值与取值
举例
var test={ x:1, y:2 }
方法一可以通过test['x']取值
方法二可以通过test.x取值
本质,将[]里面的值toString之后取到,比如我们这里有赋值语句比如
test[{}]=3;
可以通过test[{z:1}]取到值3,若为5大基本类型,则要通过相同值取。
简而言之,就是test内部的值会调用toString方法后存储。
2.对象与原型链
(1)这里涉及到了JS中的继承,JS的对象中除了null,其他都继承于原型对象object.prototype,也就是说JS的大部分对象的原型链上的顶端都具有对象object.prototype.
JS是基于原型链集成的,并且对象上可以访问到原型链上对象的属性和方法。
举例
function test(){ this.x=x; this.y=y } var my=new test(); test.prototype.z=3; alert(my.z); //输出为3
test.prototype为my的直接父链原型,并且my也可以沿着原型链查找,直到object.prototype,可以实现object.prototype中的方法,比如
my.toString();//返回[object Object]
(2)原型链对于对象遍历的影响
我们上述定义了一个对象my,如果对对象使用for in遍历,那么会有
function test(){ this.x=1; this.y=2; } var my=new test(); test.prototype.z=3; console.log(my.__proto__);//会输出test.prototype for( p in my) { console.log(my[p])//会输出1,2,3 }
我们发现输出了my[p]的值为1,2,3,发现遍历my上的属性时候,把my对象原型链上的属性也遍历出来了。
补充并且这种遍历是无序的。
(3)特殊赋值
针对上述例子,如果我们对my对象进行赋值,
my.z=4; alert(my.z);//这里得到的值为4
我们发现,如果对象上的属性和对象原型上的对象冲突,优先对于对象上属性进行赋值。
(4)在对象的原型链上,所有对象都继承与object.prototype,除了null,我们可以用以下链式来反应
my(或者其他对象)—>test.prototype–>……..–>object.prototype——>null
更多关于JavaScript相关内容可查看本站专题《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指