javascript - 函数调用不起作用

标签 javascript function

我有以下代码,

(function(exports) {
"use strict";

var Common = function() {
  this.loading        = function(type){
        this.type();            
        this.show    = function(){
            alert('show');
        }   

        this.hide   = function(){
            alert('hide');      
        }
   }
    exports.Common = Common;
    exports.Common = new Common();
}(window));

我试图访问 show()hide() 就像,

   Common.loading('show');
   Common.loading('hide');

但是它抛出一个错误,

TypeError: this.type is not a function

最佳答案

你正在传递一个字符串,当它到达方法时它不会神奇地变成一个函数:)

您正在尝试访问属于 this 属性的方法,因此请替换

this.type();

this[type]();

关于javascript - 函数调用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113216/

相关文章:

javascript - 如何按值查找多个数组元素?

javascript - 如何向左移动标签、将其涂成黑色或将其删除(Chart.JS)?

C# 相当于 Actionscript 的函数 apply 和 call?

function - 为什么要做特殊形式?

c - 函数和浮点比较

javascript - 单击浏览器后退按钮导致 'Document Expired issue'

javascript - 为什么这个 jquery 代码不起作用?

javascript - 将 firebase 数据绘制到 ChartJS

javascript - 从 JavaScript 中的箭头函数返回数组

javascript - 如何在带过滤器的 Vue 模板中使用三元运算符?