请问javascript对象和方法属性问题?第一句:var s=new Array()
第二句:var ss=Array()首先,先讲第一句,Array()这个内置函数先返回一个object对象,然后再用new关键字把从Array()函数里返回的object对象再创建一个对象实例给s引用,为什么new能把(Array()返回的对象)再重新创建一个对象给s引用?new为什么能把array()函数返回的object对象,在重新创建一个对象给s引用,好像多此一举啊?
第二句:Array()先返回一个object对象,然后把object对象直接赋值给ss,为什么这里不用new?第二个问题:对象有属性和方法,比如定义了一个函数function kk(){}然后var s=new kk()s.方法
s.属性请问在kk()函数里怎么写属性和方法,写一个我看看,谢了.

解决方案 »

  1.   

    a = new b();//a是构造函数b的一个实例a = b();//a是函数b执行后返回的结果a = b;//a是b的直接引用
      

  2.   

    "请问在kk()函数里怎么写属性和方法"
    function kk(){
        this.属性 = '属性值';
        this.方法 = function(){alert('kk的方法');};
    }
      

  3.   

    先回答你的第一、二个问题:
    就我所看过的书中还没有见到你所说这种情况,用new Array()生成的实例其实是一个数组,严格来说和它不算是Object,这点你不要弄糊涂了,所以个人觉得你现在讨论的没有必要再回答你的第三个问题:function kk()
    {
      this.x=10;  属性
      this.y=20;  this.max = function() { if (this.x>this.y) 
                                  return this.x;
                               else
                                  return this.y;
                                 }}
       
      

  4.   

    var s = new Array();   //实例化一个对象s = Array();           //Array执行结果给s,不带括号的话就是传说中的引用....引用很复杂.function kk(name,age){   
       this.name = name;    //定义属性name
       this.age = age;     //定义属性age
    }var s = new kk("TaoTaoYou",25);   //实例化
    alert(s.name)                     //弹出name属性的值
      

  5.   

    js一般这么定义类
    function kk(a){}
      this.a = a;//属性
    }
    kk.prototype.b = function(){alert(this.a);}//方法http://blog.csdn.net/avon520/archive/2009/01/17/3819751.aspx这里讲解的比较详细
      

  6.   

    第一个问题: 引用就相当于一个句柄,没有引用生成的数组无法使用。有没有new都行,有new显得更规范一些,就像用分号结束语句和回车符结束语句一样。
    第二个问题:
    function kk() 

      this.x="属性";  
      this.y = function() { 
          //方法                  }