/*
*function a(json,prop){} 如果json可以是json格式对象或函数,prop是json格式的对象
*如果json是json格式对象,则将json数据追加为F函数原型的属性
*如果json是函数,则F函数原型继承json函数的原型,同时将prop中json格式数据追加为F函数原型的属性
*
*/
//第一个实际参数获取arguments[0],第二个arguments[1],以此类推。
//实际参数个数使用arguments.length获取
function a(){
function F(){
}
/*
* 第一种情况传入第一个参数是josn格式对象
*/
if(typeof arguments[0]=="object"){
for(var i in arguments[0]){
F.prototype[i]=arguments[0][i];
}
alert("函数使用参数个数:" + arguments.length);//显示此时参数个数
}
/*
* 第二种情况传入第一个参数是函数,第二个参数是json格式对象
*/
if(typeof arguments[0]=="function"){
F.prototype=arguments[0].prototype;
for(var i in arguments[1]){
F.prototype[i]=arguments[1][i];
}
alert("函数使用参数个数:" + arguments.length);//显示此时参数个数
}
return F;
}
function Ext(){
}
Ext.extend=a;
var xy=Ext.extend(
{a:1,
b:2});
var sonofxy=new xy();
alert(sonofxy.a);
//alert(xy.b); 显示undifined 和一般普通类相似 不能直接使用其属性 是已经初始化属性的类
var superxy=Ext.extend(xy,
{c:3,d:4}
);
var sonofsxy=new superxy();
alert(sonofsxy.d);
参考资料:http://www.cnblogs.com/snowinmay/archive/2013/05/07/3064307.html
获取无参数js函数实际传入参数值及参数个数