• js 值传递,引用传递


    参考:http://www.cnblogs.com/lcngu/p/5876273.html

      JS的基本类型,是按值传递的。

      对象类型按共享传递的(call by sharing,也叫按对象传递、按对象共享传递)。

      总之,基本类型是按值传递,而对于对象来说传入的是对象指向的地址,也可以认为其是特殊的按值传递。如果在函数内对对象的属性进行操作,实际就是对其指向对象的属性进行操作。但是,如果对其整体进行操作(比如:o = 100或者o = []),其实际是新定于了对象,实参的引用地址为新的对象的引用地址,与原来的引用没有任何关系,所以不会对原来的对象造成改变。

      比如,ajax请求返回的json值需要被多次赋值,而且可能有修改,有时会造成赋值错误。

      解决方法:

      先将返回的json数据转为字符串,再使用转化的字符串做操作。转化后的字符串再次赋值就为值传递,不会相互影响

    $.get("xxxxxxx", function(result){
            var znode = JSON.stringify(result);
            var lookUpNodes = $.parseJSON(znode);;
            var controlNodes = $.parseJSON(znode);;
    });
  • 相关阅读:
    设计模式Day02
    OA,ERP等源码一部分演示
    第三方登录
    其实没那么复杂!探究react-native通信机制
    学习面试题(day01)
    学习面试题Day02
    学习面试题Day03
    python 字典排序
    Mac系统下adb工具的配置
    Mac adb 安装
  • 原文地址:https://www.cnblogs.com/jiandankuaile/p/7778117.html
Copyright © 2020-2023  润新知