• 技术文章 >web前端 >js教程

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

    烟雨青岚烟雨青岚2020-06-30 12:45:44转载463

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

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

    a4a3ba358f9c9eb8f175bdc5d8dc8d3.png

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

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

    以下是传统类型:

    3b894a3eebb285e91c9d61a87355c71.png

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

    引用类型:

    7fa3316c9bce94eb7a53931b5aa2050.png

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

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

    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的传值方式的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:js 传值
    上一篇:javascript如何实现弹出层效果?(代码分析) 下一篇:一起来聊聊jQuery、JavaScript与JS三者间的区别
    大前端线上培训班

    相关文章推荐

    • 学习js中!和!!的区别及用法• 了解JS中!/+/-/~ function() {/*...*/}()是什么意思• JS递归的用法详解• 原生JS如何实现回到顶部效果?(详解)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网