//1.
// let a = 1
// function b(a){
// a =2
// console.log(a)//2
// }
// b(a)
// console.log(a)//1
//2.
// function a(b=c,c=1){
// console.log(b,c)//报错
// }
// function a(c=1,b=c){
// console.log(b,c)//1,1
// }
// a()
//3.引用赋值
// let a =b =10;
// (function(){
// let a= b =20
// })()
// console.log(a)//10
// console.log(b)//20
//4
// var a = {n:1}
// var b =a
// a.x = a ={n:2}
// console.log(a.x)//undefined
// console.log(b.x)//{n: 2}
//5
// var arr = [0,1,2]
// arr[10] =10
// console.log(arr)//(11) [0, 1, 2, 空属性 × 7, 10]
// console.log(arr.filter((x)=>{
// return x = undefined
// }))//[]
//6
// var name = "World";
// (function(){
// if(typeof name === "undefined"){
// var name = "jack"
// console.log("Goodbye"+name)
// }else{
// console.log("Hello"+name)//Goodbyejack
// }
// })()
//7.函数作用域提升会将前面变量的赋值一起提升
// var a = 0
// if(true){
// debugger
// console.log(a);//ƒ a(){}
// a=1;
// console.log(a);//1
// function a(){}
// console.log(a);//1
// a=21
// console.log(a);//21
// }
// console.log(a)//1
//8.
// var a = {},b={key:"b"},c={key:"c"}
// a[b]=123
// a[c]=456
// console.log(a[b])//456
// console.log(a)//{[object Object]: 456}