题1.给Array原型添加一个方法,这个方法接受一个参数,如果这个参数在数组中存在那么就把它从数组中删除。 题2.对下面这个对象进行克隆. var student = { name:"zhang3", sno:"20080328", age:"20", call:function(){alert(this.name+this.sno+this.age);} }; 题3.写一个简单form表单,当光标离开表单的时候把表单的值发送给后台(使用AJAX)。类似于163邮箱(mail.163.com/)的注册功能.

解决方案 »

  1.   


    // 题1.给Array原型添加一个方法,这个方法接受一个参数,如果这个参数在数组中存在那么就把它从数组中删除。 
    Array.prototype.remove = function(obj){
      var ret = [];
      for (var i = 0; i < this.length; i++) {
        this[i] === obj || ret.push(this[i]);
      }
      this.length = 0;
      this.concat(ret);
    }// 题2.对下面这个对象进行克隆...
    function extend(destination, source) {
      for (var property in source)
        destination[property] = source[property];
      return destination;
    }
      

  2.   

    (1)
     Array.prototype.IsHave = function(_value) {
                var len;
                for (var l = 0; l < a.length; l++) {
                    if (a[l] == _value) {
                        len = l;
                        break;
                    }
                    else {
                        len = l;
                        if (len == a.length - 1) return;
                    }
                }            for (var l = len; l < a.length; l++) {
                    a[l] = a[l + 1];
                }
                a.pop();
            }
            var a = new Array();
            a.push(1);
            a.push(2);
            a.push(3);
            a.push(4);
            a.push(5);
            a.IsHave(6)     //显示的结果是长度为5   数组值为1,2,3,4,5 
          //  a.IsHave(4)    //显示的结果是长度为4    数组值为1,2,3,5
            alert(a.length);
            alert(a.valueOf());(2)
      var student =
            {
                name: "zhang3",
                sno: "20080328",
                age: "20",
                call: function() { alert(this.name + this.sno + this.age); }
            };        var s = student.constructor.prototype;
            alert(student.name)    //zhang3
            s.name = "chen";
            alert(student.name);   //zhang3
            alert(s.name);     //chen(3)
    用微软的AJAX框架可以写出你要的功能
      

  3.   

    写错一个符号Array.prototype.remove = function(obj){ 
      var ret = []; 
      for (var i = 0; i < this.length; i++) { 
        //this[i] === obj || ret.push(this[i]); 
        this[i] !== obj || ret.push(this[i]); 
      } 
      this.length = 0; 
      this.concat(ret); 
    }