两个匿名函数这么判断不相等

mcck_hyj
  • 200

问题描述

图片描述
我在不同的两个vue组件中分别写了两个方法体一样的function,他们除了定义的作用域不同其他都一样,那么我应该如何判断他们不一样?或者能否获取到他们的作用域

问题出现的环境背景及自己尝试过哪些方法

我试过用MD5对方法编码,获得图中的id,可是这个id也是一样的。

回复
阅读 3.3k
3 个回答

提供一种思路:将函数转成字符串,然后比较。
function test(args){console.log(args)};
函数test.toString();就是"function test(args){console.log(args)}"。
比较两个函数转成字符串的值,如果相等,两个函数就一样。

直接比较函数引用啊

var a=function(){}
var b=function(){}
console.log(a===b)

你的意思是想判断这两个相同的函数的作用域不相同?
很多方法 因为js是词法作用域 所以其实他们的作用域就是声明的位置
方法一:
两个vue文件都有一个全局变量 但是值不同
然后在函数方法里面直接return 全局变量。看看一不一样
方法二:
在函数里面直接return this

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏