无法访问clojurescipt中javascript对象的实例变量/属性

时间:2015-04-14 08:18:07

标签: clojurescript

板栗项目。苹果酒BREPL。

使用Three.js,我得到一个简单的颜色对象:

(set! c  (js/THREE.Color. 0 0 255))

检查对象:

clojoids-org.dev> (type c)
#<function ( color ) {

    if ( arguments.length === 3 ) {

        return this.setRGB( arguments[ 0 ], arguments[ 1 ], arguments[ 2 ] );

    }

    return this.set( color )

}>

我在设置color属性时读到了这个。但是,当我尝试获取颜色属性时,我得到nil:

clojoids-org.dev> (.-color c)
-> nil

也尝试过年龄:

clojoids-org.dev> (aget c "color")
->nil

除了访问RGB或setRGB(如函数中的setRGB()调用所示):

clojoids-org.dev> (.-RGB c)
-> nil


clojoids-org.dev> (.-setRGB c)
#<function ( r, g, b ) {

        this.r = r;
        this.g = g;
        this.b = b;

        return this;

    }>
nil
clojoids-org.dev> (.-r  (.-setRGB c))
nil
clojoids-org.dev> (.-b  (.-setRGB c))
nil
clojoids-org.dev> (.-g  (.-setRGB c))
nil

要么它真的为零,因为我没有正确设置颜色,或者我没有正确访问它。

任何人都可以看到我做错了吗?

1 个答案:

答案 0 :(得分:0)

好吧,在发布这个问题后不久,我发现这很有效:

clojoids-org.dev> (.-r c)
0
clojoids-org.dev> (.-g c)
0
clojoids-org.dev> (.-b c)
255

因此问题是我没有正确访问它。