javascript(arguments)
2020-11-24 13:08
标签:金山 javascript arguments 今天去做了金山网络招聘实习生的试卷,有一道题目确实让我有点在当时不太肯定,毕竟自己的脑袋还不是javascript解析器,然后回来就打开chrome的控制台,运行后就觉得自己要去总结这个知识点了。 确实当时看见这道题目的时候,心里还是有很多疑问的,最后只能归结成一个是arguments对象是什么时候才赋值? 代码: 结果:1 代码: 结果:"monkindey" 那好吧,我们还是揭秘金山实习生招聘的笔试题 arguments MDN javascript(arguments) 标签:金山 javascript arguments 原文地址:http://blog.csdn.net/monkindey/article/details/24673657事出有因
题目如下(只能说大概,有点忘记,但是考察知识点是一样)
了解arguments
原因:arguments标示符在《javascript权威指南》中指出,它是指向实参对象的引用。实参对象是一个类数组,当实参对象改,那么arguments也会跟着改。而实参对象只有在函数调用时才赋值,比如上面实参对象就类似于{a:1,b:2},但是没有c,所以给c赋值,改变不了实参对象,而arguments是它的引用,所以它也没影响。
原因:实参对象会是{a:1,b:2,c:undefined},而在函数体中再修改c的话,就会设置实参对象中的c为3。所以console.log(arguments)会变成[1,2,3]再练练兵
原因:个人觉得当我们调用一个函数,传入进去的实参,就是给一个函数中的形参赋值,其实相当于在函数定义一个局部变量,变量名就是那个形参名,上面的代码可以看成
原因:上面的代码可以看成
参考文献
《javascript权威指南》
JavaScript函数参数的可修改性
上一篇:C# 线程
下一篇:Java根据Url下载图片
文章标题:javascript(arguments)
文章链接:http://soscw.com/index.php/essay/22393.html