如function aaa(a1,a2) 怎么知道第二个参数的名字是a2
解决方案 »
- 高手来 如何判断 上传图片 是否被ps过 谢谢了 跪请高手指教
- 求助,关于dropdownlist在客户端添加的项,在服务器端如何读出
- 请问DataTable 如果随机排序
- 做.net也3,4年了,一直没什么成果,想做一个开源的项目,请大家推荐个方向
- DataList 嵌套 DataList 再 嵌套 DataList 的第三级问题...
- 一段看不懂的javascript的代码!(开发java的高手帮帮忙呀!)
- 真是搞不懂ASP.NET的机制,选择了下拉列表框怎么刷新一下值就没了?没有耐心了
- 多条件查询问题?很急在线等待,实现即结贴.
- VS2013的AJAX问题
- 求助 javascript 出错,急急请各位帮忙!!
- .net+telerik 事件问题
- 论坛的URL是如何实现的
你所需要的只是传递的数据值,对于参数名称的要求还是第一回听说。
function aaa(a1,a2){
value1 = a1;
value2 = a2;
}
var s = f1.toString();
var a = s.split(")");
a = a[0].split(",");
alert(a[1]);
value1 = a1.tostring()
value2 = a2.tostring()
} 试试。
如果仅仅用 value2 = a2 那得到的仅仅是参数内容
var a = s.split(")");
a = a[0].split(",");
alert(a[1]);
{
alert(arguments[0]);
}
var fn=aaa.toString();
var args=fn.substring(fn.indexOf('(')+1,fn.indexOf(')')).split(',');
for(var i in args)
{
document.write(args[i] +"<br>");
}
创建一个input对象
function createInput(className,name,value,maxLength)
{
var obj = document.createElement("input");
//接下来给对象赋属性值 可以通过obj.className = className; obj.name = name;这种方式赋值。
//大家注意到参数名和对象属性名实际上是一样的,这样就可以obj["className"] = className;这种方式来赋值,使用循环。
var numargs = arguments.length; // 实际传递的参数
for(var i = 0; i < numargs; i++)
{
if(arguments[i] != null)
{
obj[目前还取不到的参数名,也就是obj的属性] = arguments[i];
}
}
}
//好处是当多加一个id属性时只用改变createInput(className,name,value,maxLength,id)
//调用时多传一个参数就行了,函数体不用改。
或者setAttribute("id",id);
<head runat="server">
<title>无标题页</title>
<script language="javascript">
function ShowStr(a1,a2)
{
alert(a1);
alert(a2);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="button" onclick="ShowStr('aa','bb')" />
</div>
</form>
</body>
</html>
也就是说,参数名和参数值 一对一对的传进来。js 可能没有KeyValuepair和list 或者Dictionary,就用个2维数组好了。function createInput(array[][2] parameters)
{
var obj = document.createElement("input");
for(var i=0;i<array.length;i++)
{
//添加属性名和属性值
obj.setAttribute(parameters[i][0],parameters[i][1]);
}
}
外面调用的时候也不需要修改函数的参数,随便自己设置多少个属性,如果把tag标签也放到参数里,就可以创建任意html组件和初始化任意属性值了。//好处是当多加一个id属性时只用改变createInput(className,name,value,maxLength,id)
//调用时多传一个参数就行了,函数体不用改------------ 多加一个属性的时候 还要修改函数,这个函数只能适应针对某个特列,这还叫方便吗
也就是说,参数名和参数值 一对一对的传进来。js 可能没有KeyValuepair和list 或者Dictionary,就用个2维数组好了。 -------------------------------------- 前面说法稍微纠正一下,应该是把属性名和属性值都作为参数传递进来
像你这样搞,我创建2维数组的功夫对象都创建好了,还用调函数吗?
var obj = document.createElement("input");
obj.name = "name";
obj.id = "id";
这样不比你创建2维数组简单,封装的意义何在?你还跟我谈方便?