javascript - JavaScript 中的双重命名?
问题描述
只是想问一下:在 JavaScript 中将函数命名为变量有什么原因吗?
(我的意思是使用Dep
了两次。刚刚在 Vue.js 中爬行,发现了这个)
var Dep = function Dep () {
this.id = uid++;
this.subs = [];
};
解决方案
变量名不是函数名;它只是一个恰好包含对该函数的引用的变量。
function
关键字后面的“Dep”是函数的名称。无论后来名为“Dep”的变量发生了什么,函数内部的“Dep”将始终是它自己的名称。
在这种情况下,这当然无关紧要,因为函数不引用自身。
不久前,这样做是一个好主意,以避免在浏览器控制台中报告来自“匿名函数”的错误。现代浏览器调试环境非常擅长获取合适的名称,但仍有一些情况不能。
推荐阅读
- python - Sikuli 脚本随机停止
- python - 如何对角镜像 NxNx3 numpy 数组
- html - 将图标垂直居中放置在其框内
- python - AttributeError:“模块”对象没有属性“模型”,而模型字没有写在任何地方,
- sql - SQL 逻辑检查
- python - Python BaseHTTPRequestHandler 在除 utf-8 之外的任何内容上引发查找错误
- reactjs - 如何在 create-react-app 中注入没有 REACT_APP 前缀的 dotenv 变量?
- typescript - 在类中使用箭头函数有缺点吗
- amazon-web-services - 在 aws lambda 函数中以并行方式运行任务
- 2sxc - DNN 7.4:错误 instalando en contenido para 2sxc 10