第一題
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函數(shù)第一個參數(shù)x改成xx,輸出的又是什么?
//3.如果把f函數(shù)第一個參數(shù)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函數(shù)第一個參數(shù)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函數(shù)第一個參數(shù)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函數(shù)第一個參數(shù)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