javascript - 初始化前无法访问“z”
问题描述
var w = 1, z = 2;
function foo( x = w + 1, y = x + 1, z = z + 1 ) {
console.log(x, y, z);
};
foo(); // ReferenceError: Cannot access 'z' before initialization
为什么z
找不到z = 2
,却能w
找到w = 1
?
解决方案
var w = 1, z = 2;
function foo( x = w + 1, y = x + 1, t = z + 1 ) {
console.log(x, y, t);
};
foo();
尝试这个。您在开始时初始化 z,然后在函数声明中再次初始化它。
我已将z
变量重命名为t
.
推荐阅读
- java - ThymeLeaf:Bean 名称的 BindingResult 和普通目标对象都不能用作请求属性
- docker - 如何在docker容器中保存静态内容
- reactjs - 挂钩中反应类组件的 this.props.history.push('/some_route') 的等价物是什么?
- javascript - 使用 React 的主从 KendoGrid
- javascript - javascript中图像数据的简单数学运算
- websocket - 向具有多个 websocket 引用的客户端发送消息
- html - 如何以角度放置微调器
- redux - Redux-Toolkit:如何处理具有复合键的实体?
- c# - 构建在本地通过但在詹金斯服务器上失败,system.servicemodel.faultexception 无法加载文件或程序集和 system.timeoutexception
- unix - awk 输出到指定的列数