frontend

params default value & params environment & TDZ

看 ES6 parameter default value 的时候,发现一些很困惑的现象。

1
2
3
let y = 1;
function foo(x = y, y) {}
foo();

结果是 reference error: y is not defined. 因为这里 y 是处在 TDZ(Temporal Dead Zone)。

1
2
console.log(x); // TDZ
let x;

可是为什么呢,明明全局有定义 y 呀,为什么未定义?难道参数默认值有单独的作用域?继续试验:

一些前端面试题

前一阵时间找工作,面试了一些公司,这里也总结一下遇到的前端技术相关的问题,做个记录,也看看自己缺那块,以后要往什么方向继续努力。以下面试题都不指明公司名称了。

Html/CSS方面