javascript中对象的定义、使用以及对象和原型链操作小结

 更新时间:2016年12月14日 11:25:39   作者:小小小小小亮  
这篇文章主要介绍了javascript中对象的定义、使用以及对象和原型链操作,结合实例形式总结分析了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面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 全面解析Bootstrap排版使用方法(标题)

    全面解析Bootstrap排版使用方法(标题)

    这篇文章全面解析了Bootstrap排版使用方法,本文重点介绍Bootstrap标题排版,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • JS中节流和防抖函数的实现及区别示例

    JS中节流和防抖函数的实现及区别示例

    这篇文章主要为大家介绍了JS中节流和防抖函数的实现及使用区别示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • js实现跨域的方法实例详解

    js实现跨域的方法实例详解

    这篇文章主要介绍了js实现跨域的方法,实例分析了几种常用的javascript实现跨域的技巧,需要的朋友可以参考下
    2015-06-06
  • JS立即执行的匿名函数用法分析

    JS立即执行的匿名函数用法分析

    这篇文章主要介绍了JS立即执行的匿名函数,结合实例形式分析了;(function() {})();相关原理、使用技巧及操作注意事项,需要的朋友可以参考下
    2019-11-11
  • JavaScript中apply方法的应用技巧小结

    JavaScript中apply方法的应用技巧小结

    这篇文章给大家总结了在js中apply方法的一些应用技巧,通过这些技巧对大家日常的使用相信会有帮助,有需要的朋友们下面来一起看看吧。
    2016-09-09
  • 前端知识点之Javascript选择输入框confirm用法

    前端知识点之Javascript选择输入框confirm用法

    这篇文章主要介绍了JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家学习或者使用js具有一定的参考借鉴价值,需要的朋友可以参考下
    2025-02-02
  • JavaScript 获取 URL 中参数值的方法

    JavaScript 获取 URL 中参数值的方法

    本文将详细介绍几种在 JavaScript 中获取 URL 参数值的方法,包括现代浏览器支持的 URLSearchParams、正则表达式解析以及自定义函数解析方案,并讨论各自的优缺点及适用场景,感兴趣的朋友一起看看吧
    2025-04-04
  • JS实现网页Div层Clone拖拽效果

    JS实现网页Div层Clone拖拽效果

    这篇文章主要介绍了JS实现网页Div层Clone拖拽效果,涉及JavaScript响应鼠标事件动态改变页面元素位置属性及层级属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JavaScript对象解构的用法实例解析

    JavaScript对象解构的用法实例解析

    解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量,下面这篇文章主要给大家介绍了关于JavaScript对象解构用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • javascript插件开发的一些感想和心得

    javascript插件开发的一些感想和心得

    这篇文章主要介绍了javascript插件开发的一些感想和心得,需要的朋友可以参考下
    2016-02-02

最新评论