题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.给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;
}
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框架可以写出你要的功能
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);
}