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('男');
輸出結(jié)果
![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.寫一個(gè)函數(shù),返回參數(shù)的平方和?


![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)
- 原因是:函數(shù)聲明的前置,在執(zhí)行上面代碼的時(shí)候會(huì)將函數(shù)的聲明前置,而函數(shù)表達(dá)式只會(huì)將變量的聲明前置,函數(shù)不會(huì)前置,所以當(dāng)sayAge(10),sayAge它是個(gè)變量不是函數(shù),所以會(huì)報(bào)錯(cuò)。
5.如下代碼的輸出?為什么


6.如下代碼的輸出?為什么


![3]2(DBV{P2D6((O0D1K9D.png](http://upload-images.jianshu.io/upload_images/3361706-4daeb2ddbf333493.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7.如下代碼的輸出?為什么


原因是由于先給變量fn聲明和賦值后,同名變量聲明的優(yōu)先級(jí)將大于同名的函數(shù)聲明,并且覆蓋函數(shù)聲明,所以fn就是一個(gè)變量,而不是一個(gè)函數(shù),導(dǎo)致執(zhí)行fn函數(shù)系統(tǒng)報(bào)錯(cuò)fn不是一個(gè)函數(shù)
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)