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

发布时间 - 2026-01-10 21:48:39    点击率:

本文实例总结了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从作用域链谈闭包  # 深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解  # javascript 词法作用域和闭包分析说明  # JavaScript 变量作用域及闭包  # 浅谈JS原型对象和原型链  # js 原型对象和原型链理解  # Javascript之旅 对象的原型链之由来  # js对象继承之原型链继承实例  # JavaScript使用原型和原型链实现对象继承的方法详解  # 图文详解JavaScript的原型对象及原型链  # JavaScript作用域、闭包、对象与原型链概念及用法实例总结  # 遍历  # 可以通过  # 链式  # 值为  # 会有  # 相关内容  # 可以用  # 数据结构  # 给大家  # 可以实现  # 他都  # 或者其他  # 更多关于  # 所述  # 程序设计  # 面向对象  # 则要  # 象中  # 若为  # 也就是说 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现API资源集合?(Resource Collection教程)  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何实现用户密码重置功能?(完整流程代码)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  在Oracle关闭情况下如何修改spfile的参数  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何在Ubuntu系统下快速搭建WordPress个人网站?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何快速上传建站程序避免常见错误?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  EditPlus 正则表达式 实战(3)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何在阿里云通过域名搭建网站?  Android仿QQ列表左滑删除操作  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  公司门户网站制作流程,华为官网怎么做?  Laravel如何升级到最新版本?(升级指南和步骤)  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  微信小程序 闭包写法详细介绍  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  浅谈redis在项目中的应用  Laravel怎么使用artisan命令缓存配置和视图  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Swift中switch语句区间和元组模式匹配  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  海南网站制作公司有哪些,海口网是哪家的?  html如何与html链接_实现多个HTML页面互相链接【互相】  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何获取PHP WAP自助建站系统源码?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel如何处理文件下载请求?(Response示例)  北京专业网站制作设计师招聘,北京白云观官方网站?  如何快速辨别茅台真假?关键步骤解析  三星网站视频制作教程下载,三星w23网页如何全屏?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何使用Livewire构建动态组件?(入门代码)