两分钟带你了解JS的传值方式


本文摘自PHP中文网,作者烟雨青岚,侵删。

这段时间干了一些全栈的事,对JS有了一些学习与了解,这一篇主要是JS的传值的方式的总结。

我们一般说JavaScript是传值的,但是从某种角度来说其实也可以说是传的引用,下面来整理一下。

a4a3ba358f9c9eb8f175bdc5d8dc8d3.png

我们一般将JS的传值分成两种,当传递的参数是原始类型的时候是完全的传值。

当传递的事对象的时候,传递的是对象的引用的克隆版,传递的仍然是值。

以下是传统类型:

3b894a3eebb285e91c9d61a87355c71.png

包括5种数据类型,javaScript中没有类的概念,只有一种伪类。

引用类型:

7fa3316c9bce94eb7a53931b5aa2050.png

怎么理解呢?
当我们传值得时候,对该值操作是不会影响到原本的数据的。

当我们共享的方式的时候:对对象的属性控制(a.属性名)可以操作到原本的值,但是对对象直接读写(a=1)并不能联系的原本的对象。

1

2

3

4

5

6

7

8

9

10

11

var obj = {    value: 1};

function foo(o) {

    o.value = 2;

    console.log(o.value); //2  --赋值}

foo(obj);

console.log(obj.value) // 2  --值被改变var obj = {    value: 1};

function foo(o) {

    o = 2;

    console.log(o); //2    --修改的是o}

foo(obj);

console.log(obj.value) // 1 --没有影响

通常比较成员类型的方式:

baf97587ade9b81196348272e37def8.png

方法等都属于,这也是我们使用var 定义方法能被调用执行的原因。

感谢大家的阅读,希望大家收益多多

本文转自:https://blog.csdn.net/zzg19950824/article/details/80395287

推荐教程:《JS教程》

以上就是两分钟带你了解JS的传值方式的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

js 如何获取 input 的 value 值?

h5+js实现本地文件读取和写入

html实现自动清理js、css文件的缓存

js闭包是什么

详细介绍下js中的window与document

vue可完全替代jq吗

web 前后端怎么交互

js如何创建字符串数组

js的防抖与节流

javascript字符串如何转为布尔值

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...