<SCRIPT LANGUAGE="JavaScript">
function User(name)

       this.name=name; 
   this.getUserName = function()
   { 
return this.name; 
} ;
function test(obj)
{
return obj;
}
}window.onload=function()
{

var  user = new User('test');
alert(user.getUserName());alert(user.test('test'));//这个如何能实现啊,是否可以实现啊,我感觉应该可以的啊?请高手指点}</SCRIPT>

解决方案 »

  1.   

    this.test=function(obj)
    {
    return obj;
    }
      

  2.   

    this.test=function(obj)
    {
    return obj;
    }
      

  3.   


    呵呵,这个我知道的啊,我就是想怎么建立这个没有this的对象关联啊,难道没有办法吗?
      

  4.   

    受作用域限制,在外部不能直接访问内部变量
    可以这样
             this.getTest=function(obj)
    {
    return test(obj);
    }
    function test(obj){
    return obj;
    }
      

  5.   

    <SCRIPT LANGUAGE="JavaScript">
    function User(name)
    {  
      this.name=name;  
    this.getUserName = function()
    {  
    return this.name;  
    } ;
    function test(name)
    {
    return name;
    }
    return test(name);
    }window.onload=function()
    {var user = new User('test');
    alert(user.getUserName());alert(User('sdf1'));
    }
    </script>
      

  6.   

    想让user对象找到test方法( user.test() ),那么test方法必须置于user相关的prototype链中
    function User(name)
    {  
      this.name=name;  
      this.getUserName = function()
      {  
        return this.name;  
      } ;}
    User.prototype =
    {
      test : function(obj)
      {
        return obj;
      }
    }
      

  7.   

    这个不能实现
    function Test() {
        function test2() {    }
    }
    test2对于外部来说是不可见的
    new Test()的时候,由于test2并没有与Test的对象进行关联,所以外界也是不可引用的
    但是在Test内部可以使用。你可以近似的看成是java中的private 方法
      

  8.   


    这个是可以实现,但是还是把test写道外面的属性里.难道不能建立里面user function{}里面吗?用什么方法实现关联吗?各位再指点........谢谢!
      

  9.   

    每个对象都有对应的原型函数prototype User.prototype.test=function test(obj)
    {
    return obj;
    }这样就给User定义了一个方法,User的对象中都可以调用这个方法了
      

  10.   

    嗯,一个对象要找到某个方法,首先从本对象找,也就是把test变成对象本身的方法,即改成
    function User(name)
    {  
      this.name=name;  
      this.getUserName = function()
      {  
        return this.name;  
      } ;
      this.test = function(obj){return obj}
    }那么user对象就可以马上找到test方法,并执行,
    如果不改成this.test= function(){}
    那么user对象本身并没有test方法,在本对象找不到test方法的情况下,user对象就会顺着prototype链一层层找test方法。
      

  11.   

    //定义一个函数func1,具有属性p和方法A 
    function func1(){ 
      this.p="func1-"; 
      this.A=function(arg){ 
      alert(this.p+arg); 
      } 

    //定义一个函数func2,具有属性p和方法B 
    function func2(){ 
      this.p="func2-"; 
      this.B=function(arg){ 
      alert(this.p+arg); 
      } 

    var obj1=new func1(); 
    var obj2=new func2(); 
    obj1.A("byA"); //显示func1-byA 
    obj2.B("byB"); //显示func2-byB  
      

  12.   

    var obj = new Object();
    obj.test = function() {};
    以上那句话
    ,写在function里面就变成了
    this.test = function() {};函数指针必须要和对象或者与原型相关联,
    function Test() {}Test.prototype.test = function() {};才能使用

    function Test() {
        function test() {}
    }
    这样的,跟对象毫无关系。外界无法引用到此函数指针。只能在Test内部使用。你还是放弃吧
      

  13.   

    <SCRIPT LANGUAGE="JavaScript">
      <!--function User(name)
    {  
      this.name=name;  
    this.getUserName = function()
    {  
    return this.name;  
    } ;
    User.prototype.test = function(obj)
    {
    return obj;
    }
    }window.onload=function()
    {var user = new User('test');
    alert(user.getUserName());alert(user.test('test2'));//这个如何能实现啊,是否可以实现啊,我感觉应该可以的啊?请高手指点}  //-->
      </SCRIPT>
      

  14.   

    不用this,不用prototype,无法实现function Test() {
        function sayHello() {}}又可写成
    function Test() {
        var sayHello = new Function();
    }
    因此sayHello是无法再function外用的
    这两种写法没有区别看懂否?
      

  15.   

    this.getTest=function(obj)
        {
            return test(obj);
        }
        function test(obj){
            return obj;
        }