1.以下代码输出什么?
function getInfo(name, age, sex){
console.log('name:',name);
console.log('age:', age);
console.log('sex:', sex);
console.log(arguments);
arguments[0] = 'valley';
console.log('name', name);
}
getInfo('hunger', 28, '男');
getInfo('hunger', 28);
getInfo('男');
输出结果
![D75]86W}EBD021{WE4Y_]FI.png](http://upload-images.jianshu.io/upload_images/3361706-d8d97794aeacc6f4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.写一个函数,返回参数的平方和?
![@LYOHI56TX`2V{7DYV_K_B.png
3.如下代码的输出?为什么
![1H8~@_]{1}RBGE8OEO]P{FG.png](http://upload-images.jianshu.io/upload_images/3361706-bc3fdb6bc17588f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4.如下代码的输出?为什么
![}(AK(]RC@M02YNFKE7MHL$2.png](http://upload-images.jianshu.io/upload_images/3361706-9ce57f99275f2673.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 原因是:函数声明的前置,在执行上面代码的时候会将函数的声明前置,而函数表达式只会将变量的声明前置,函数不会前置,所以当sayAge(10),sayAge它是个变量不是函数,所以会报错。
5.如下代码的输出?为什么
6.如下代码的输出?为什么
![3]2(DBV{P2D6((O
0D1K9D.png](http://upload-images.jianshu.io/upload_images/3361706-4daeb2ddbf333493.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7.如下代码的输出?为什么
原因是由于先给变量fn声明和赋值后,同名变量声明的优先级将大于同名的函数声明,并且覆盖函数声明,所以fn就是一个变量,而不是一个函数,导致执行fn函数系统报错fn不是一个函数
8.如下代码的输出?为什么
![WTV)T(D4YT8`2]R623{C$O7.png](http://upload-images.jianshu.io/upload_images/3361706-d0564e2eccf7e727.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9.如下代码的输出?为什么
![(C2X3C6[DPD8TRX)5SLRY4.png
![ISS]%IGFB__T_8M(TD05V07.png](http://upload-images.jianshu.io/upload_images/3361706-4d6763cd33d53d2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10.如下代码的输出?为什么
![SB7BP]%C(IB0HA$
7O}AF7.png](http://upload-images.jianshu.io/upload_images/3361706-2bb7b2714a2e2d88.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)