在Javascript中如何根据当前网站命名对象?

时间:2013-12-13 08:15:55

标签: javascript object

所以我试图根据我正在使用课程访问的网站来命名对象。我知道location.hostname会告诉我我正在访问的网站。我举个例子:

Site = function() {};
location.hostname = new Site();

显然这不起作用。那么,我需要做些什么来创建一个具有location.hostname值名称的Site类的新对象?感谢。

2 个答案:

答案 0 :(得分:0)

您需要使用bracket notation动态分配变量名称:

window[location.hostname] = new Site(); // Set
console.log(window[location.hostname]); // Get

答案 1 :(得分:0)

以下是一些不同的事情:

  1. Does JavaScript have classes? - 简短的回答是否定的。

  2. 所以你必须要求创建一个具有某些特定于网站的属性和功能的对象。

  3. 有几种方法可以做到这一点。它不是关于创建正确的对象,而是关于访问它们的更多信息。以下是普通的vanilla JavaScript,你应该

    var sites = {};
    
    sites['stackoverflow.com'] = { config: {}, desc: 'stuff'};
    sites['stackoverflow.org'] = { config: {}, desc: 'stuff2'};
    sites['stackoverflow.net'] = { config: {}, desc: 'stuff3'};
    
  4. 我已经在上面展示了一种快速方法,但使用了您想要的任何对象/原型JavaScript方法。关于这个主题有很多好的页面。