function test(){
    var params = "";
    getParams(params);
    alert(params); 
}function getParams(params){
    params += "ssss";
}提示的为 ""; 并不是"ssss", javascript 到底是怎么处理参数的.

解决方案 »

  1.   


    function test(){
        var params = "";
        getParams(params);
        alert(params); 
    }
    这个方法并没有返回值.
    function getParams(params){
        params += "ssss";
    }
    应该改成
    function test(){
        var params = "";
        params = getParams(params);
        alert(params); 
    }
    这个方法并没有返回值.
    function getParams(params){
        return params += "ssss";
    }
      

  2.   

    一句话点破, 嘿嘿. 为什么javascript 和java 在参数处理上不同呢?
      

  3.   

    public class StringTest { /**
     * @param args
     */
    public void change(String test) {
    test+="sss";
    }
    public void change(StringBuffer test) {
    test.append("sss");
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String a="test";
    StringBuffer b=new StringBuffer("test");
    StringTest s=new StringTest();
    s.change(a);
    s.change(b);
    System.out.println("a\t"+a);//test
    System.out.println("b\t"+b);//testsss
    }}
    怎么和java不一样啊 String的值是不可变的  变了其实是指向了另外一个地址
      

  4.   

    javascript 传参分两种,传值和传引用(可以理解为指针)你的param定义的时候,数据类型为string,所以实际传给getParams的是param存储的值所以
    function test(){
        var params = new Object();
        params.str = "";
        getParams(params);
        alert(params.str); 
    }function getParams(params){
        params.str += "ssss";
    }
      

  5.   

    这两种都行
    window.onload=function test(){
        var params = "";
        params = getParams(params);
        alert(params); 
    }
       return  params += "ssss";function getParams(params){
      
    }window.onload=function test(){
        var params =getParams("abc") ;
    alert(params);
     }function getParams(params){
        return params += "ssss";
    }
      

  6.   

    第二个的方法,return跳到外面去了。呵呵。这破鼠标不行。
      

  7.   

    function test(){
        var params = "";    
        alert(getParams(params)); 
    }function getParams(params){
        return (params += "ssss");
    }
      

  8.   

    js里面srting是基本的数据类型,你传递的是值,java里面String是一个对象,传递的是指针。
      

  9.   

    呃,按你这么说传值是和java一样的,不信你去试试。