js怎么传一个对象

高程中讲到:‘ecmascript 中所有函数的参数都是按值传递’

这就像把值从一个变量复制到另一个变量一样。

js怎么传一个对象

那引用类型的值也是像基本类型一样?

例子1:

var person  = {    name : "leaf"};function obj(o){    o.name = "kafu";   return o;}var result = obj(person);console.log(result.name);// kafuconsole.log(person.name);// kafu

登录后复制

怎么咋看结果都是看似引用类型的参数是按照引用传递的样子呢?

例子2:

var person = {    name : "leaf"};function obj(o){    o = {       name : "kafu"    };    return o;}var result = obj(person);console.log(result.name);// kafuconsole.log(person.name);// leaf

登录后复制

区别:

例子一中,把person传到obj()中,其实就是把person对象的引用复制一份,传递给o(可以看成一个地址),person和o同时指向一个对象,o中修改那么属性,其实就修改了他们共同指向的对象的name属性。因为内存区此时就只有一个对象。

例子二种,o地址指向了另外新建的对象,此时内存中就有了两个对象,o指向的新对象的任意改变,对原来person指向的旧对象是没有什么影响的。

为什么说‘ECMAScript 中所有函数的参数都是按值传递’。

基本类型就不说了。

对于引用类型,参数的传递是传递对象的引用副本。相当于传递了一份拷贝之后的新地址,这拷贝地址其实也可以理解为按值传递(也叫共享传递)了。

利用对象作为参数传递

当用对象作为参数传递的时候,可以不用考虑参数的顺序,这点很有用。

以上就是js怎么传一个对象的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2730746.html

(0)
上一篇 2025年3月8日 00:20:34
下一篇 2025年3月8日 00:20:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js怎么清空tr

    js清空tr的实现方法:首先获取第一个td的要删除行的Index;然后进行循环操作;最后将tr中的td的数据都删除一遍即可实现清空tr。 本篇文章将介绍如何使用js清空tr里的所有数据。 使用js清空tr里的数据,首先你要获取第一个td的要…

    2025年3月8日
    000
  • js怎么补齐数字

    js补齐数字的方法:1、通过迭代方式实现;2、通过“num/Math.pow(10, length);”方法实现;3、通过“(Array(length).join(‘0’) + num).slice(-length)…

    2025年3月8日
    200
  • 前端js怎么学

    首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了js的门。谈不上经验,都是一些教训。 这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。 你叫一个大学生去教小学数学,不见得比一个初中生教得好。因为大学生早…

    2025年3月8日
    200
  • js怎么定义map

    一直以来使用数组和对象来定义数据模型,前几天在翻阅es6语法的时候,突然发现有一种map对象对操作键值对特别好用,而且代码更简洁明了,简直太棒了。 今天,我们就来一步步了解什么是Map对象,详细给大家介绍一下Map对象的属性和方法。希望大家…

    2025年3月8日
    200
  • js怎么获取标签的值?

    js获取标签的值的方法:1、js可以使用对象的innerText属性获取标签的值;2、可以通过JS获取DOM元素的方法先获取标签,然后使用value等获取标签的值即可。 本篇文章将介绍JS获取标签值的方法。 可以使用对象的innerText…

    2025年3月8日
    200
  • 怎么获取json的key

    获取json的key的方法:1、使用for循环,直接获取JSON中的key值;2、使用jquery回调函数each获取,其语法如“$.each(数组名,function(i){}”。 本篇文章介绍了jQuery如何获取json对象中的key…

    2025年3月8日
    200
  • js写后端用什么框架

    本篇文章来介绍一下js的后端框架有哪些? 1:Express Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能,目前 Express 一家独大,是基于 Nod…

    2025年3月8日
    200
  • 怎么体现js继承关系

    js作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在js中实现继承呢?让我们拭目以待。 js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言…

    2025年3月8日
    200
  • js concat什么时候用

    concat()方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 语法 arrayObject.concat(arrayX,arrayX,……,arrayX) 登录后复制 参数: array…

    2025年3月8日
    200
  • js中prototype是什么

    js中Prototype表示了该函数的原型,prototype表示了一个类的属性的集合;当通过new来生成一个类的对象时,prototype对象的属性就会成为实例化对象的属性;无法访问到,也就是变为私有变量和私有函数。 本文操作环境:Win…

    2025年3月8日
    200

发表回复

登录后才能评论