это поместит папку на рабочий стол, exe должен быть внутри этой папки. Вы также можете поместить его в другое место, используя окно навигации на последнем изображении. возможно, вы захотите создать его и внутри папки.
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.
Я не думаю, что это возможно в 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
,