高分求助initialize.apply (1) this.initialize.apply(this, arguments);是什么意思 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var Class = { create: function(){ return function(){this.initialize.apply(this, arguments);} } }// 初始化一个实例 并将参数传入initialize方法中 var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } // 这是prototype.js里面的类构造方法,使用方法是: var myClass = Class.create(); // 这样就可以创建一个类了。 // 继续加入: myClass.prototype = { x : function () { return 1; }, y : function () { return 2; }, initialize : function () { alert(this.x() + this.y()); } } // 那么,你在实例化该类的时候: var mclass = new myClass(); // 此时会弹出一个对话框,相当于:alert(1 + 2);<script type="text/javascript"> var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } // 这是prototype.js里面的类构造方法,使用方法是: var myClass = Class.create(); // 这样就可以创建一个类了。 // 继续加入: myClass.prototype = { a : 2, b : 3, x : function (m_x) { return (this.a * m_x); }, y : function (m_y) { return (this.b + m_y); }, initialize : function (m_value) { alert(m_value + ':' + this.x(2) + this.y(4)); } } // 那么,你在实例化该类的时候: var mclass = new myClass('结果'); // 此时会弹出一个对话框,相当于:alert(1 + 2);</script> apply(,) 两个参数,第一个表示作用的对象 ,第二天表示传入的参数,lz的写法 多用与对象的创建过程中,就向楼上两位所说的 初始化一个实例 并将参数传入initialize方法中 “初始化一个实例 并将参数传入initialize方法中”??? var Class = { create: function(){ return function(){this.initialize.apply(this, arguments);} } }应该是:初始化一个静态方法“initialize”,然后通过“apply”让类Class.create事例同时继承initialize的方法属性(当然包括参数arguments),该继承是通过this指针的“冒充”或者说“劫持”实现的,Class.create“冒充”了this.initialize。简单而言:<script>function funx(a, b, c){ this.a = a; this.b = b; this.c = c; this.show = function(){alert(this.b)}}function funy(){ funx.apply(this, arguments);//也可以用“call”}var obj = new funy(0, 1, 2);obj.show()//"1"</script>“funy”就这样“冒充”或者说“劫持”了“funx”,继承了“funx”的所有方法和属性。 jquery 控件事件响应问题 jqGrid 如何实现同时编辑多条记录后,按个保存按钮同时更新? csdn论坛左侧的树状2级菜单,蛮好来,求一下能动态读菜单的代码?谢谢 js代码为什么运行不了 (20分求)动态添加表格元素设置id 如何让联动下拉框选择一下可以显示其VAILUA的值 请问这数组赋值怎么会出错呢?帮我看看好吗?(80分) IE 和 Mozilla 兼容问题请教,急!!! 项目吃紧,特100分求修改一段代码,基本样式都已经有了(支持手工输入的下拉框). 超级简单的问题! 关于iframe中显示不了图片的问题 新浪抄我!
var Class = {
create: function(){
return function(){this.initialize.apply(this, arguments);}
}
}// 初始化一个实例 并将参数传入initialize方法中
var Class = {
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
}
// 这是prototype.js里面的类构造方法,使用方法是:
var myClass = Class.create();
// 这样就可以创建一个类了。
// 继续加入:
myClass.prototype = {
x : function () { return 1; },
y : function () { return 2; },
initialize : function () { alert(this.x() + this.y()); }
}
// 那么,你在实例化该类的时候:
var mclass = new myClass();
// 此时会弹出一个对话框,相当于:alert(1 + 2);
<script type="text/javascript">
var Class = {
create: function()
{
return function()
{
this.initialize.apply(this, arguments);
}
}
}
// 这是prototype.js里面的类构造方法,使用方法是:
var myClass = Class.create();
// 这样就可以创建一个类了。
// 继续加入:
myClass.prototype =
{
a : 2,
b : 3,
x : function (m_x)
{
return (this.a * m_x);
},
y : function (m_y)
{
return (this.b + m_y);
},
initialize : function (m_value)
{
alert(m_value + ':' + this.x(2) + this.y(4));
}
}
// 那么,你在实例化该类的时候:
var mclass = new myClass('结果');
// 此时会弹出一个对话框,相当于:alert(1 + 2);
</script>
var Class = {
create: function(){
return function(){this.initialize.apply(this, arguments);}
}
}
应该是:初始化一个静态方法“initialize”,然后通过“apply”让类Class.create事例同时继承initialize的方法属性(当然包括参数arguments),该继承是通过this指针的“冒充”或者说“劫持”实现的,Class.create“冒充”了this.initialize。
简单而言:
<script>
function funx(a, b, c){
this.a = a;
this.b = b;
this.c = c;
this.show = function(){alert(this.b)}
}function funy(){
funx.apply(this, arguments);//也可以用“call”
}var obj = new funy(0, 1, 2);
obj.show()//"1"
</script>
“funy”就这样“冒充”或者说“劫持”了“funx”,继承了“funx”的所有方法和属性。