您的位置:首页 > Web前端 > JavaScript

获取无参数js函数实际传入参数值及参数个数

2014-02-20 23:59 411 查看
/*
*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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: