2016 - 2024

感恩一路有你

js获取两个值的最大值 JavaScript中函数都是值传递吗?

浏览量:4688 时间:2023-05-31 09:50:49 作者:采采

JavaScript中函数都是值传递吗?

价值转移在不同的层面有不同的含义!

你可以认为JavaScript函数调用参数都是值传递,也可以认为分数传递和引用传递是两种!这两种情况下的值传递的意义是不同的,但后者是大多数程序员的第一次接触。

如果你能理解我下面说的话,你就赢了。;不要对此感到困惑,其他语言也是如此。

在语言设计中JavaScript的类型设计中,有两种类型:基本类型(值类型)和引用类型。基本类型在堆栈上分配,或者附加到引用类型并存储在堆中。看到值类型存储在堆里,估计很多人要开始吐槽了!但是冷静下来,从内存的角度想想什么是引用类型的实例。它只是一堆值类型和嵌入的其他引用类型的组合。如果你递归地思考一下,你就会明白最终的数据是由基本值类型承载的。也就是说,除了少数引用对应的数据结构外,大部分都是值类型数据。在考虑值类型和引用类型的区别时,有没有考虑到这一点?

从语言层次来看,函数的参数传递时,会复制值类型,也会复制引用类型的引用。此时,两个引用指向同一个拷贝。如果您访问或修改引用类型的数据字段,您实际上是在修改相同的数据。这样是不是更好理解?

所以从这个层面来说,可以说有分数传递和参考传递两种。这里的值传递和引用传递实际上包含了语言特性。

从函数调用的角度,假设我们忽略了语言中基本类型或者值类型的设计,而只从函数调用的角度?

从上面的描述中,你已经知道值类型被复制,引用被复制。从函数本身来看,它只完成了复制功能。对于基本类型,它复制基本类型表示的数据,对于引用类型,它复制引用类型的引用(如果放在C语言中,把引用改成指针可能更直观)。

本质上,函数调用只是在参数处理中被复制,所以你可以说是值传递。It 只是这里的值实际上包含了上述语言级别的两个东西:值类型的值、引用或指针。

总结统一概念的内涵是我们程序员遇到的最大问题,这里的值传递就是一个典型的问题。本质只有一个,但每个人站在不同的角度和层面,都会赋予概念不同的内涵。如果内涵不同,讨论结论是没有结果的。

用JavaScript求两个数的最大公因数和最小公倍数?

请写一个完整的代码,包括HTML部分,求编程建议。

如果你不 不要伸出这样的手问问题,如何在百度上自己计算两个数的最大公约数和最小公倍数,可以 如果你有方法,就不要写?

类型 语言 层面 JavaScript

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。