Object.Function(* 不是函数)

Object.Function (* is not a function)

如何在 对象 之后添加 函数 ,而不引发错误 'substr is not a function'?

例如

    var country = {
        get: function() {
            return 'USA';
        },
        set: function(value) {
            
        }
    }

    console.log(country.substr(0, 2));

您正在尝试在只有 .get() 和 .set() 的对象中使用 substr()。 susbtr() 是字符串的一种方法,所以你可以在 .get() 之后链接它,实际上 returns 一个字符串:

var country = {
        get: function() {
            return 'USA';
        },
        set: function(value) {
            
        }
    }

    console.log(country.get().substr(0, 2));

我不确定你的意思是在一个对象之后添加一个函数。但是如果你想记录“USA”的子字符串,你就错过了日志中函数的调用。国家是一个对象。它没有任何功能substring。你必须先定义它。您应该调用 get() 函数来检索该值。应该是:

country.get().substr(0, 2)

国家是一个对象,不能在对象上使用子字符串。

你可以

country.get().subsring(0,2)

另一方面,这是非常 un-javascript 的代码。看起来你正试图在 javascript.

中进行 OO 编程