zoukankan      html  css  js  c++  java
  • javascript 传递引用类型参数

    JavaScript代码如下:

    function setName(obj){ 
    obj.name = "test1"; 
    obj = new Object(); 
    obj.name
    = "test2"; } var person = new Object(); setName(person); alert(person.name);

    运行结果:页面弹出“test1”

    代码分析:为什么不弹出“test2”?

     var person = new Object();    本例中首先生成一个object对象,并将person(类似于指针)指向这个object对象,暂时将这个object对象命名为objectA:person->objectA

     setName(person);   将person作为参数传递给setName函数,传递的其实是objectA在内存中的地址,此时函数体中obj就是一个引用类型,指向内存中的objectA对象:obj->objectA,person->objectA

    setName()函数体中:

    {

          代码第一行:obj.name = "test1";     等价于objectA.name=“test1”;   此时obj.name=person.name=“test1”

          代码第二行:obj = new Object();      这一句是关键,obj指向了一个新的对象new Object(),暂时命名为objectB,此时obj->objectB,person->objectA

          代码第三行:obj.name = "test2";     等价于objectB.name=“test2”,此时person指向的对象ObjectA的name属性仍然为"test1"

    }

  • 相关阅读:
    Java中文语言处理HanLP
    python的jieba分词词性标注(转载)
    solr 自聚类实现
    IntelliJ IDEA 创建 java Maven项目
    javat Itext实践 pdf
    java 中PriorityQueue优先级队列使用方法
    java实现 tf-idf
    Solr6.6 IK 中文分词的配置和使用
    yaha分词
    实现自动文本摘要(python,java)
  • 原文地址:https://www.cnblogs.com/king1302217/p/3282627.html
Copyright © 2011-2022 走看看