0

假设我有这样的事情:

network = {
  post: function(t) {
    console.log(t); }
  protocol: {
    init: function() {
      /* network.post("init") */ } } }

评论部分,我将如何允许 network.protocol.init 函数通过某种相对链接调用 network.post ?network.protocol 如何找到网络变量?

谢谢。:)

4

1 回答 1

1

这是对象字面量语法的限制;你就是做不到。

您最好的选择是network通过对象上的属性进行引用protocol,并在通过对象文字语法声明对象后立即添加它;

network = {
  post: function(t) {
    console.log(t); }
  protocol: {
    init: function() {
      this.network.post("init") } } }

network.protocol.network = network;

...这是有效的,因为该network属性的存在被推迟到其init自身执行。

于 2013-05-19T00:39:54.657 回答