任务17 代码题

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('男');

getInfo('hunger',28,'男') 输出

1

getInfo('hunger',28,) 输出

2

getInfo('男') 输出

3

类数组对象argument被传入了‘valley’这个新的参数,代替了原有函数声明中传入的变量,之后输出。

2.写一个函数,返回参数的平方和?

function sumOfSquares(){
var s=0;
for(var i=0;i
4

3.如下代码的输出?为什么?

console.log(a);
var a = 1; // undefind
console.log(b);//Uncaught ReferenceError: b is not defined

函数声明会被变量提升到最前端,但a的赋值不会,所以出现undefind
b没有被声明,所有输出b会报错

4.

5

函数表达式所定义的函数无法进行函数前置,当运行到sayAge(10)时函数还未被定义所以会报错。

5.

6

6.

7

7.

8

var fn=1;写为var fn;就会顺利输出fn函数。

8.

9

9

10

10

11

代码题问题

  • 在函数中声明 i=10var i=10有什么区别?

  • 变量前置和函数前置的顺序?

你可能感兴趣的:(任务17 代码题)