javascript - 如何限制 javascript/jquery 中函数的范围

标签 javascript jquery scope

我有多个.js页面上链接的文件具有同名的函数,如以下模型

第一个.js

function DisplayContent(data,$target) // data is string
{
     $target.html('<span>'+ data +'</span>')
}

第二个.js

function DisplayContent(data,$target) // data is string
{
     $target.html('<div>'+ data +'</div>')
}

以上两个文件均引用了该页面。

如何在不重命名函数的情况下解决上述问题。

如有错误请指正。

谢谢

最佳答案

您可以在 JavaScript 文件中使用命名空间:

first.js:

var first= {
  DisplayContent: function DisplayContent(data,$target) 
  {
     $target.html('<span>'+ data +'</span>')
  },
     [additional methods in the first object]
};

second.js

var second= {
  displayContent: function DisplayContent(data,$target) 
  {
      $target.html('<div>'+ data +'</div>')
  },
  [additional methods for the second implementation]
};

然后调用诸如Namespace.method之类的方法,即first.DisplayContent()

关于javascript - 如何限制 javascript/jquery 中函数的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33886689/

相关文章:

php - ajax发布请求url

jquery旋转可以旋转表格html元素

python - 无法更新 Pyspark 中的变量

javascript - 将值添加到使用 _.map 和 _.range 创建的变量

javascript - 在服务器端和客户端之间重用 HTML

javascript - 生成多维对象的所有组合

go - 为什么 Go +build 标签会引入作用域问题?

javascript - 关于导入js模块和函数作用域(local/global)的问题

javascript - 有没有办法避免循环时可读性和性能之间的权衡?

javascript - 综合 Javascript 作业的想法