我想得到类的变量名.
var Poop = new Class({
getClassName: function() {
return arguments.callee._owner.name;
}
});
var a = new Poop();
a.getClassName(); //want 'Poop'
Run Code Online (Sandbox Code Playgroud)
我正在将其实现到其他类中,并且我想构建一个使用表名的类名(复数)的SQL查询.
我尝试了上面例子的各种组合来试图获得名称,并且无法弄明白(如果它甚至可以考虑MooTools类系统).
使用单页面应用程序,我更改哈希值并加载并仅更改页面内容,我正在尝试决定如何管理每个"页面"可能需要的JavaScript.
我已经有一个历史模块监视可能看起来的位置哈希domain.com/#/company/about
,以及一个将使用XHR获取内容并将其插入内容区域的Page类.
function onHashChange(hash) {
var skipCache = false;
if(hash in noCacheList) {
skipCache = true;
}
new Page(hash, skipCache).insert();
}
// Page.js
var _pageCache = {};
function Page(url, skipCache) {
if(!skipCache && (url in _pageCache)) {
return _pageCache[url];
}
this.url = url;
this.load();
}
Run Code Online (Sandbox Code Playgroud)
缓存应该允许已加载的页面跳过XHR.我还将内容存储到documentFragment中,然后在插入新内容时将当前内容从文档中拉出来Page
,因此浏览器只需要为片段构建一次DOM.
如果页面具有时间敏感数据,则可能需要跳过高速缓存.
以下是我需要帮助决定的内容:加载的任何页面很可能都有一些自己的JavaScript来控制页面.就像页面将使用Tabs一样,需要幻灯片放映,有某种动画,有ajax形式,或者有什么.
将JavaScript加载到页面的最佳方法是什么?在我从XHR返回的documentFragment中包含脚本标记?如果我需要跳过缓存并重新下载片段,该怎么办?我觉得第二次调用的完全相同的JavaScript可能会导致冲突,比如重新声明相同的变量.
更好的方法是在抓取新脚本时将脚本附加到头部Page
?这将要求原始页面知道每个其他页面可能需要的所有资产.
除了知道包含所有内容的最佳方法之外,我不需要担心内存管理,以及将这么多不同的JavaScript位加载到单个页面实例中的可能泄漏吗?
我有一个字典,我想迭代并将键值对复制到Python中的对象.字典是POST,对象是模型(在Django中,也许Django有更好的方法可以做到这一点).
在PHP中,我可以使用变量赋值:
foreach($post as $key => $value) {
$my_model->$key = $value;
}
Run Code Online (Sandbox Code Playgroud)
在Javascript中,我可以使用数组赋值来处理对象:
for(var key in post) {
my_model[key] = post[key];
}
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法在Python中这样做.我见过的唯一方法是使用objects __dict__
属性,它感觉有点脏.此外,它可以提高KeyErrors.