将值传递给匿名函数,函数在对象值内

时间:2017-04-28 10:16:30

标签: javascript

我尝试检查以确保对象在返回之前包含值,但我似乎无法将1 this.map_options.map_type(1)的值传递给匿名函数,因为console.log显示undefined

MarvMap.prototype.init = function() {
    loadApi.call(this);

    // Setup map options and map reference
    this.mapReference = null;
    this.map_options = {
      map_type: function(i) {
        console.log(i);
        let x = [ 'test1', 'test2', 'test3', 'test4' ];
        if (x[i] !== undefined) {
          return x[i];
        } else { exit(this.errors.map_type(i)); }
      }.call(this)
    };

    build.call(this);
  };

这就是我尝试从map_options.map_type检索价值的方法。

console.log('MapType: ' + this.map_options.map_type(1));

1 个答案:

答案 0 :(得分:2)

以下是我如何管理它:

+ geom_bar(stat="identity",position = "dodge")

您需要使用<script> function MarvMap (){ } MarvMap.prototype.init = function() { // Setup map options and map reference this.mapReference = null; this.map_options = { map_type: function(i) { console.log(i); let x = [ 'test1', 'test2', 'test3', 'test4' ]; if (x[i] !== undefined) { return x[i]; } else { } }.bind(this) }; }; var a = new MarvMap(); a.init(); console.log('MapType: ' + a.map_options.map_type(1)); </script> 代替bind