我使用显示模块模式,并有一个命名空间Foo.Bar.Baz
。
如何将其转换为字符串"Foo.Bar.Baz"
?
(如果我这样做mynamespace.toString()
,它会产生"[object Object]"
而不是所需的字符串。)
我使用显示模块模式,并有一个命名空间Foo.Bar.Baz
。
如何将其转换为字符串"Foo.Bar.Baz"
?
(如果我这样做mynamespace.toString()
,它会产生"[object Object]"
而不是所需的字符串。)
使用非常简化的Revealing 模块模式:
var revealed = function(){
var a = [1,2,3];
function abc(){
return (a[0]*a[1])+a[2];
}
return {
name: 'revealed',
abcfn: abc
}
}();
toString
您可以在显示的对象中包含覆盖:
var revealed = function(){
var a = [1,2,3];
function abc(){
return (a[0]*a[1])+a[2];
}
return {
name: 'revealed',
abcfn: abc,
toString = function(){ return "revealed"; }
}
}();
然后可以revealed.toString()
按照您第一次尝试的方式调用它。如果您显示的对象包含子对象(命名空间),那么每个单独toString
的实现都可以调用子对象toString
并与点(或任何合适的)连接。