Как получить название класса Mootools из

enter image description here

enter image description here

enter image description here [112 ]

это поместит папку на рабочий стол, exe должен быть внутри этой папки. Вы также можете поместить его в другое место, используя окно навигации на последнем изображении. возможно, вы захотите создать его и внутри папки.

5
задан seanmonstar 8 May 2009 в 00:39
поделиться

2 ответа

Found a solution. Hash has a keyOf function, which will give me the variable name that holds a value. So I made a Hash of window, and then asked for the key of the class constructor.

var Poop = new Class({
    name: function() {
        var w = $H(window);
        return w.keyOf(this.constructor);
    }
});
var a = new Poop();
a.name(); // returns 'Poop'

This of course works only because I create classes in the global window namespace (as is common with MooTools). If you made classes inside some namespace, then you'd just need to Hash that namespace instead.

Edit: I wrote up about how to use this solution and how to make it work in namespaces automatically, for any MooToolers interested.

8
ответ дан 13 December 2019 в 22:16
поделиться

Я не думаю, что это возможно в Javascript, из-за того, что язык ориентирован на прототипы. Есть несколько вещей, которые вы можете сделать, чтобы определить, принадлежит ли объект к существующему классу, который вам известен, например:

if (a.constructor == Poop) {
     alert("This will work, but I don't really want any Poop.");
}

Однако на самом деле это не работает для определения неизвестного класса объекта. Есть и другие способы проверки прототипов классов, которые включают toString () , но они работают только для встроенных объектов, а не для настраиваемых классов, и это недостаток прототипирования, не специфичный для MooTools.

Если вы посмотрите 5-е издание Javascript, The Definitive Guide , стр. 174, глава 9.7, там есть интересное обсуждение. В основном рекомендация состоит в том, чтобы заполнить ваши пользовательские классы свойством classname ,

0
ответ дан 13 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: