如何防止 JS 函数重名 ?

2018 年 4 月 11 日
 wwjvtwoex

我的方法:const f = function (){}
还有别的方法吗 ?

6437 次点击
所在节点    JavaScript
25 条回复
Mutoo
2018 年 4 月 11 日
VeryVeryLongFunctionNameThatEvenCantBeGuessedByAnyotherDevelopers = function() {}
chenset
2018 年 4 月 11 日
```
(function(){
function ff(){

}
})();
```
rekulas
2018 年 4 月 11 日
1523417455567 时间戳

veryWonderfulFunc1523417455567 = function() {}
wwjvtwoex
2018 年 4 月 11 日
@Mutoo 我的意思是,一旦函数重名,编译器能报错,而不是静默地覆盖
wenzichel
2018 年 4 月 11 日
1. 命名空间: 把相关的函数写到一个对象或者类中;
2. 模块化: 把函数写到一个文件里,然后其他的文件进行 import;
3. 闭包
Rhonin
2018 年 4 月 11 日
export function xx () {}
import { xx } from xxx
wenzichel
2018 年 4 月 11 日
4. 计数器: 用一个全局变量 counter 来计数,每命名一个函数名,则 counter++;时间戳不太好,如果代码执行的快的话,那时间戳区分不开的
```javascript
let s = 'ajaxCallback'+ window.counter;
window.counter++;
window[s]=(result)=>{
// callback(result);

};
```
murmur
2018 年 4 月 11 日
你都知道了 const 了 以前 es5 之前都在用的避免重名的方法不晓得么
dcatfly
2018 年 4 月 11 日
eslint 了解一下
xianxiaobo
2018 年 4 月 11 日
第一个函数名用 1,第二个用 2,第三个用 3,怎么会重名呢?
jiangzhuo
2018 年 4 月 11 日
不用使用函数名,所有调用此函数的地方都写个一模一样的函数
chenalex
2018 年 4 月 11 日
"use strict"; 函数放对象里面调用,严格模式对象字面量重复属性名报错
graysheeep
2018 年 4 月 11 日
1、eslint
2、模块化
faceRollingKB
2018 年 4 月 11 日
js 本身是动态语言,通常只有运行时才会报错
所以你的需求应该是:有没有一款 IDE,可以在 js 代码运行之前就把运行时错误找报出来?
SourceMan
2018 年 4 月 11 日
模块化
闭包
wotemelon
2018 年 4 月 11 日
@faceRollingKB eslint 了解一下
Erskine
2018 年 4 月 11 日
匿名函数,全程不需要命名
vevlins
2018 年 4 月 11 日
这个问题听起来很奇怪
otakustay
2018 年 4 月 11 日
咱们……直接……用……模块化……不就……好……了……吗……
fortunezhang
2018 年 4 月 11 日
我来一个,当时接了一个私活,是用 web 做报表。好多个页面;每个页面有 n 个弹窗,弹窗上,继续弹窗。好多功能类似。 然后我就是 function page_1_some_function(){} ,后来还被他们使用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/445874

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX