关于函数的arguments对象

newdigitime 2010-01-29 05:41:38
<script language=javascript>
var str="abc";
function xxx()
{
str = str.replace("a",function (){
var u=arguments[0];
return u;
}
);
}
xxx();
</script>


在上面代码中
arguments是指函数xxx的参数对象,还是 未命名函数function(){}的参数对象?
...全文
164 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
抽风的凹凸曼 2010-02-01
  • 打赏
  • 举报
回复
应该是那个匿名函数吧
yingzhilian2008 2010-02-01
  • 打赏
  • 举报
回复
无名function()
h155290688 2010-01-31
  • 打赏
  • 举报
回复
3
mayer_mq 2010-01-31
  • 打赏
  • 举报
回复
函数作用域问题
eduyu 2010-01-31
  • 打赏
  • 举报
回复
逻辑推论一下,加入属于外面的函数,那么意味着,函数内部定义的函数不能用argument?这样设计有何意义?显然有悖语言设计者的初衷。
tntooo 2010-01-31
  • 打赏
  • 举报
回复
看来是无名的了~长见识
fuyou001 2010-01-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 newdigitime 的回复:]
JScript code<script language=javascript>var str="abc";function xxx()
{
str= str.replace("a",function (){var u=arguments[0];return u;
}
);
}
xxx();</script>

在上面代码中
arguments是指函数xxx的参数对象,还是 未命名函数function(){}的参数对象?

[/Quote]
arguments参数应该是 function (){var u=arguments[0];return u; } 的

arguments的值 其实是匹配的值
打字员 2010-01-30
  • 打赏
  • 举报
回复
无名函数


浴火_凤凰 2010-01-30
  • 打赏
  • 举报
回复
测试一下就全明白了
草根醉秋意 2010-01-30
  • 打赏
  • 举报
回复

var str="abc";
function xxx()
{
str = str.replace("a",function (){
for(var i=0;i<arguments.length;i++){
alert(arguments[i]);
}
var u=arguments[0];
return u;
}
);
}
xxx();

草根醉秋意 2010-01-30
  • 打赏
  • 举报
回复
repalce方法的第二个参数如果是方法的话,会把匹配的字符串作为参数传递这个方法
http://w3school.com.cn/js/jsref_replace.asp
豆虫 2010-01-30
  • 打赏
  • 举报
回复
无名函数的
Microogle 2010-01-30
  • 打赏
  • 举报
回复
个人认为:
arguments = (nonamefunction.havearguments)?nonamefunction:xxx
感觉应该和变量的作用域差不多。
如2L所说,自己试一下不就知道了,我也去试一下。
camel0506 2010-01-29
  • 打赏
  • 举报
回复
无名函数调用的时候没有参数吧,应该是xxx函数的吧
Objector 2010-01-29
  • 打赏
  • 举报
回复
是指匿名函数的参数对象
s_title 2010-01-29
  • 打赏
  • 举报
回复
无名的
newdigitime 2010-01-29
  • 打赏
  • 举报
回复
function xxx()
{
str = str.replace("a",function (){return arguments[0];});
}

上面这个例子中的arguments是属于谁的?
选择:
1.函数xxx
2.replace函数
3.replace中的第二个参数:无名function()
newdigitime 2010-01-29
  • 打赏
  • 举报
回复



function xxx()
{
str = str.replace("a",function (){return arguments[0];});
}


上面这个例子中的arguments是属于谁的?
选择:
1.函数xxx
2.replace函数
3.replace中的第二个参数:无名function()


dh20156 2010-01-29
  • 打赏
  • 举报
回复
运行一下试试看就知道了:

<script type="text/javascript">
var foo = function(){
alert(arguments.length);
alert(arguments[0]);
};

foo('a','b');
</script>
heyli 2010-01-29
  • 打赏
  • 举报
回复
数组的第一个元素吧 楼下给解答

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧