第一题
var x = 1;
function f(x, y = function () {x = 3; console.log(x);}) {
console.log(x); // undefined
var x = 2;
y(); // 3
console.log(x); // 2
}
f()
console.log(x); // 1
//1.如果把var x = 2注释掉,输出的又是什么?
//2.如果把f函数第一个参数x改成xx,输出的又是什么?
//3.如果把f函数第一个参数x设置了默认值为4,输出的又是什么?
第二题
如果把var x = 2注释掉,输出的又是什么?
var x = 1;
function f(x, y = function () {x = 3; console.log(x);}) {
console.log(x); // undefined
// var x = 2;
y(); // 3
console.log(x); // 3
}
f()
console.log(x); // 1
第三题
如果把f函数第一个参数x改成xx,输出的又是什么?
var x = 1;
function f(xx, y = function () {x = 3; console.log(x);}) {
console.log(x); // undefined
var x = 2;
y(); // 3
console.log(x); // 2
}
f()
console.log(x); // 3
第四题
如果把f函数第一个参数x设置了默认值为4,输出的又是什么?
var x = 1;
function f(x = 4, y = function () {x = 3; console.log(x);}) {
console.log(x); // 4
var x = 2;
y(); // 3
console.log(x); // 2
}
f()
console.log(x); // 1
第五题
如果吧var x = 2注释掉, 并且把f函数第一个参数x设置了默认值为4,输出的又是什么
var x = 1;
function f(x = 4, y = function () {x = 3; console.log(x);}) {
console.log(x); // 4
// var x = 2;
y(); // 3
console.log(x); // 3
}
f()
console.log(x); // 1