小编ada*_*Lev的帖子

如何在JavaScript中不写"eval"的情况下执行"eval"

这是交易,我们有一个我们想要压缩的大型JS库,但如果它找到一个"eval"语句,YUI压缩器不能完全压缩代码,因为担心它会破坏别的东西.这很好,但是我们确切地知道什么是eval'd,所以我们不希望它变得保守,因为在MooTools JSON.decode中有一个eval语句

所以基本上问题是,是否有任何替代(可能是创造性的)方法来编写一个返回eval函数的表达式?我试了几个,但没有骰子:

window['eval'](stuff);
window['e'+'val'](stuff);
// stuff runs in the global scope, we need local scope

this['eval'](stuff);
// this.eval is not a function

(new Function( "with(this) { return " + '(' + stuff + ')' + "}"))() 
// global scope again
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢

javascript mootools json eval yui-compressor

7
推荐指数
1
解决办法
4945
查看次数

使用功能样式Javascript与"程序"的性能影响

有没有人做过基准测试,或者可以链接到关于这个主题的文章?特别感兴趣的是IE结果,因为通常JS性能在其他浏览器中不是问题.

我想知道做以下事情的速度有多慢:

var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = numbers.map(function() { 
  // do some stuff
});
Run Code Online (Sandbox Code Playgroud)

而不是典型的:

var numbers = [1, 2, 3, 4, 5, 6, 7];
var results = [];

for (var i = 0; i < numbers.length; i++) {
  var number = numbers[i];
  var result;
  // do some stuff
  results.push(result);
}
Run Code Online (Sandbox Code Playgroud)

我显然更喜欢功能样式,但我认为为每个项目调用额外函数的额外开销可能会减慢大型集合的速度.

谢谢!

javascript performance functional-programming

7
推荐指数
2
解决办法
2172
查看次数

mod_rewrite参数数量/反向引用限制

显然,在htaccess RewriteRules中可以访问多少反向引用存在限制(9).

但是我们有一个需要9个以上参数的RewriteRule,如下所示:

RewriteRule ^([^/]+)/b([0-9]+)(/a([0-9]+))?(/v([0-9]+))?(,([0-9]+))?(/(ajax|share))?(,complete)?$ /index.php?control=sites&site=brands&control_file=version_select&name=$1&campaign_id=$2&answer=$4&page=$8&option=$10&video_id=$6&page_type=research [L]
Run Code Online (Sandbox Code Playgroud)

那么当你尝试访问"$ 10"时会发生什么,它是使用$ 1并在它旁边放一个0.

有没有人能够解决这个问题,任何替代解决方案或任何其他解决方案?

谢谢!

regex apache mod-rewrite

5
推荐指数
3
解决办法
3778
查看次数

Python习语:列出项目限制的理解

我基本上试图这样做(伪代码,不是有效的python):

limit = 10
results = [xml_to_dict(artist) for artist in xml.findall('artist') while limit--]
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能以简洁有效的方式对其进行编码呢?XML文件可以包含0到50位艺术家之间的任何内容,而且我无法控制一次获得的数量,而AFAIK,没有XPATH表达式可以说"让我达到10个节点".

谢谢!

python idioms list-comprehension

5
推荐指数
2
解决办法
2781
查看次数

如何在Javascript中进行"软"if条件检查

就像你在php中所做的那样:

if (@$some_var_exists)
    // do stuff
Run Code Online (Sandbox Code Playgroud)

如何在Javascript中执行此类操作而不会出现错误?

谢谢

编辑:谢谢你的答案.但是,我试图解决的问题是如何在对象深处检查变量是否存在,例如:

if (someObj.something.foo.bar)
  // This gives an error in the browser if "someObj.something.foo" is not defined.
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
2
解决办法
1198
查看次数

使lxml.objectify忽略xml名称空间?

所以我要处理一些看起来像这样的xml:

<ns2:foobarResponse xmlns:ns2="http://api.example.com">
  <duration>206</duration>
  <artist>
    <tracks>...</tracks>
  </artist>
</ns2:foobarResponse>
Run Code Online (Sandbox Code Playgroud)

我找到了lxml和它的objectify模块,它允许你以pythonic方式遍历xml文档,就像字典一样.
问题是:每次尝试访问元素时都使用伪造的xml命名空间,如下所示:

from lxml import objectify

tree = objectify.fromstring(xml)
print tree.artist
# ERROR: no such child: {http://api.example.com}artist
Run Code Online (Sandbox Code Playgroud)

它正在尝试使用<artist>父命名空间进行访问,但标记不使用ns.

任何想法如何解决这个问题?谢谢

python xml lxml xml-namespaces

4
推荐指数
1
解决办法
2806
查看次数

Javascript,IE,字符串和性能问题

所以我们有这个产品,它在IE中真的很慢.我们已经应用了IE人员自己建议的许多实践(像这样,这个),并尝试在DOM操作等关键部分中牺牲干净的代码来提高性能.

但是,正如您在IE浏览器截图中看到的那样.. 替代文字http://i43.tinypic.com/24g57c1.png

只是"弦乐队"是最大的罪犯.差不多750毫秒的独家时间.

这是否意味着IE花费750毫秒只是实例化字符串?我还在Opera开发博客上阅读了这些内容:

构建脚本可以删除空格,注释,使用Array查找替换字符串(以避免MSIE为字符串的每个单个实例创建字符串对象 - 即使在条件中)

但没有更多关于此的信息.有人可以澄清吗?似乎IE必须在每次在代码中都有""时创建一个完整的String实例,这可以解释这一点,但我不知道数组查找优化会是什么样子.顺便说一句,我们在代码中的任何地方都没有做太多字符串连接.

我们使用的库是MooTools 1.2.4

任何建议将不胜感激!谢谢

更新 - 我对上面提到的关于"数组查找优化"的提示特别感兴趣.我们的库很大(1MB)所以它有很多字符串,就像任何其他JS代码一样.但由于我们的库比大多数都大,这些字符串实际上导致了速度问题.

另外,有人知道在String.prototype中添加东西是否会使每个实例变慢?

javascript performance mootools

3
推荐指数
1
解决办法
476
查看次数

Python导入不一致的行为

我有一个这样的py文件,出错了.

from world import acme

def make_stuff_happen():
    acme.account.foo()       # Works
    acme.subscription.bar()  # FAIL: "module 'object' has no attribute 'subscription'"

make_stuff_happen()
Run Code Online (Sandbox Code Playgroud)

但这有效!

from world import acme 
from world.acme import subscription

def make_stuff_happen():
    acme.account.foo()  # Works
    subscription.bar()  # Now this works.

make_stuff_happen()
Run Code Online (Sandbox Code Playgroud)

我只能说是WTF,这可能是什么造成的呢?这样的行为应该至少是两个一致的acme.accountacme.subscription.

谢谢!

更新 - acme文件夹的文件夹结构:

acme
|-- __init__.py
|-- account.py
|-- catalog.py
|-- core.py
|-- proxy.py
|-- subscription.py
`-- utils.py
Run Code Online (Sandbox Code Playgroud)

而且__init__.py完全空白.

python import module

3
推荐指数
1
解决办法
213
查看次数

PHP:如何检查var是否已初始化?当var设置为NULL时,isset返回false

<?php
    $var = NULL;

    var_dump(isset($var)); // bool(false)
    var_dump(isset($unset_var)); // bool(false)
?>
Run Code Online (Sandbox Code Playgroud)

isset($ var)应返回TRUE,因为它已设置为NULL.

有没有办法检查这个?

谢谢!

php

2
推荐指数
1
解决办法
420
查看次数

自动在元素上设置字体大小的Javascript,以便文本不会溢出?(自动调整)

你知道我的意思?就像我们说的那样:

<div style="width:100px;font-size:10px">Some Text</div>
Run Code Online (Sandbox Code Playgroud)

但是那时我们也可能在div中有一个更长的文本字符串,在这种情况下我希望div具有font-size:7px或者其他什么,这样整个字符串就可以适应而不会溢出.

我敢肯定已经写过这样的东西了,我不想重新发明这个.最好是一个jQuery插件?

任何建议,将不胜感激!谢谢

html javascript css xhtml

2
推荐指数
1
解决办法
738
查看次数

如何以编程方式单击MooTools的元素?

在jQuery中,我过去做过这样的事情:

$('#someCheckbox').click();
Run Code Online (Sandbox Code Playgroud)

一切正常,好像用户只是正常点击元素.但是在MooTools中同样不起作用:

$('someCheckbox').fireEvent('click');
Run Code Online (Sandbox Code Playgroud)

未选中该复选框,也不会触发任何绑定的事件处理程序.

有没有办法做到这一点?我需要触发已绑定的"click"事件处理程序,因此只需设置它的"checked"属性就不是一个选项.

谢谢

javascript mootools dom javascript-events mootools-events

2
推荐指数
1
解决办法
6382
查看次数

ASP.NET中的标签

<%= Something %>和之间有什么区别<%# Something %>

还有其他这种改性剂吗?

重复

<%#和<%=开启代码有什么区别?

asp.net

0
推荐指数
1
解决办法
138
查看次数

最佳实践:如何在django中保留没有数据库的简单数据?

我正在构建一个不需要数据库的网站,因为REST API"是数据库".(除非您不希望将特定于站点的内容放在那里,因为API主要由移动客户端使用)

但是,通常会在数据库中放置一些内容,例如"作业"页面.您有主列表视图和每个作业的详细信息视图,并且应该可以轻松添加新作业条目.(不一定是通过CMS,但那会很棒)

例如example.com/careers/example.com/careers/77/

我可以在模板中对这些东西进行硬编码,但这不是DRY-您每次都必须更新主模板和详细模板.

你们有什么感想?也许是YAML文件?或者更好的想法?谢谢

python django persistence

0
推荐指数
1
解决办法
1224
查看次数