本文实例总结了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面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
本文向大家介绍图文详解JavaScript的原型对象及原型链,包括了图文详解JavaScript的原型对象及原型链的使用技巧和注意事项,需要的朋友参考一下 对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张所谓很经典的图,上面画了各种线条,一会连接这
本文向大家介绍JavaScript中定义对象原型的两种使用方法,包括了JavaScript中定义对象原型的两种使用方法的使用技巧和注意事项,需要的朋友参考一下 第一种: 第二种: 个人比较喜欢第二种;第二种可以的原型中可以拓展各种方法,用起来比较顺手。 例如可以写: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
我正在使用Scala 2.11.8并尝试添加protobuf。 这是我的日志: [信息]协议目标目录:/home/user/Git/tortle/target/src\u managed/main [信息]协议目标目录:/home/user/Git/tortle/target/src\u managed/main [...] [错误]/home/user/Git/tortle/target/src
本文向大家介绍Javascript中获取对象的原型对象的方法小结,包括了Javascript中获取对象的原型对象的方法小结的使用技巧和注意事项,需要的朋友参考一下 在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象。 但是,__proto__属性在
本文向大家介绍使用ajax操作 JavaScript 对象,包括了使用ajax操作 JavaScript 对象的使用技巧和注意事项,需要的朋友参考一下 通过请求获取充分格式化的HTML虽然很方便,但这也意味着必须在传输文本内容的同时也 传输很多HTML标签。有时候,我们希望能够尽量少传输一些数据,然后马上处理这些数据。在 这种情况,我们希望取得能够通过JavaScript进行遍历的数据结构。
前言 面向对象的三大特性 封装 继承 多态 原型链的知识 原型链是面向对象的基础,是非常重要的部分。有以下几种知识: 创建对象有几种方法 原型、构造函数、实例、原型链 instanceof的原理 new 运算符 创建对象有几种方法 方式一:字面量 var obj11 = {name: 'qianguyihao'}; var obj12 = new Object(name: 'qia