小编Sha*_*had的帖子

rspec上下文的范围常量

我经常想做

context "empty stack" do
  SOME_CONSTANT = "value"
  it "should be empty" do
    # use SOME_CONSTANT
  end
end

context "populated stack" do
  SOME_CONSTANT = "a different value"
  it "should have some items" do
    # use SOME_CONSTANT
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby不会将常量范围限制为闭包,因此它们会泄漏出来.有没有人有一个技巧来声明作用于上下文的常量?

rspec constants rspec2

19
推荐指数
2
解决办法
7550
查看次数

为什么Closure Compiler不识别自执行匿名函数中的类型声明?

"Unknown type"通过Closure Compiler运行一个相当大的库时,我收到了很多警告,当我的类型在自动执行的匿名函数中声明时,它们似乎就出现了.这没有什么奇特之处,但是如果我将自执行函数剥离出来,类型声明似乎起作用(至少在这个简单的测试中).

我不确定我的代码注释是否有问题,或者代码中是否存在任何违法行为,但我认为这都是犹太教和模块化API的标准方法.

以下测试代码创建一个命名空间(只是一个普通的旧JS对象)并附加一个枚举(一个对象文字)和一个函数.

var mynamespace = {};
(function (mynamespace) {
    /**
     * Some enum.
     * @enum {number}
     */
    mynamespace.SomeEnum = {
        FOO: 1,
        BAR: 2
    };

    /**
     * Frazzle some type.
     * @param {mynamespace.SomeEnum} qux The type to frazzle.
     * @return {boolean} whether the operation succeeded.
     */
    mynamespace.frazzle = function(qux) {
        return true;
    }
}(mynamespace));

// call it
mynamespace.frazzle(mynamespace.SomeEnum.FOO);
Run Code Online (Sandbox Code Playgroud)

看起来很好,对吗?闭包编译错误:

[jscomp] Compiling 1 file(s) with 37 extern(s)
[jscomp] X:\dev\solclientjs\sdk\tools\jscomptest.js:14: WARNING - Parse error. Unknown type mynamespace.SomeEnum

[jscomp] …
Run Code Online (Sandbox Code Playgroud)

javascript design-patterns google-closure-compiler jsdoc

13
推荐指数
1
解决办法
2664
查看次数

捆绑脚本中的$(document).ready()

我最近在网络优化方面做了很多工作,我遇到了一个有趣的问题.我想知道是否有人可能知道现有的解决方案.

假设您有多个特定于页面的外部.js文件,每个文件都有自己的页面特定 $(document).ready()功能.假设第1页的文档就绪功能将样式应用于<li>正文中的每个,而第2页中准备好的文档仅使用样式<input type="button" />s.只是一个简单的例子.

现在假设您将这两个脚本以及所有库脚本捆绑在一起,以减少页面加载时的http请求数.现在,两个文件准备就绪了,第2页的li将使用仅适用于第1页的代码进行格式化.

我的问题是 - 有没有办法通过jQuery或第三方库将特定文档分配到特定页面但仍然将它们全部捆绑到一个.js文件中?

javascript optimization jquery

8
推荐指数
1
解决办法
2016
查看次数

php sql update join

刚学习sql连接和东西,我有一个问题.

你能加入更新查询吗?或者它仅适用于选择的那些.因为我有这个代码;

$five_ago = date("Y-m-d H:i:s", strtotime("$now - 5 mins"));

$sql_result23 = mysql_query("SELECT * FROM usersonline WHERE timestamp < '$five_ago'", $db);
while ($rs23 = mysql_fetch_array($sql_result23)) { 
    mysql_query("UPDATE users SET status='gone' WHERE id ='$rs23[userID]'"); 
}
Run Code Online (Sandbox Code Playgroud)

它从usersonline表中挑选出超过5分钟的所有数据,然后在users表中找到它们并更新它们的记录.

我不是JOIN向导或任何东西,但我认为连接会简化这一点.有人可以澄清一下吗?

php mysql join

6
推荐指数
1
解决办法
4095
查看次数

使用jQuery获取当前事件处理程序的值

我可以通过调用使用jQuery设置onclick处理程序

$('#id').click(function(){
   console.log('click!');
});
Run Code Online (Sandbox Code Playgroud)

同样使用jQuery,如何获取当前正在处理click()事件的函数的引用?

原因是我有另一个对象,并希望将其click处理程序设置为与#id相同的处理程序.

更新

谢谢你提出的所有建议.问题是我不知道当前正在处理点击的功能.跟踪它会将状态添加到已经很复杂的模板编辑系统中.

html javascript jquery

5
推荐指数
1
解决办法
9288
查看次数

我需要通过查询字符串传输javascript对象

我有一个javascript对象,我需要能够通过查询字符串传递给Web服务.

比如说:

<script type="text/javascript">
var test = new Object();
test.date = new Date();
test.str = "hello world!";
test.list = new Array();
test.list.push('a');
test.list.push('b');
test.list.push('c');
</script>
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将该对象序列化为JSON,然后以某种方式压缩/编码,可以传递给url的查询字符串?

喜欢:

var destination = 'http://mywebservice?'+encode(serialize(test));
$.get(destination, function(e)) { ... }
Run Code Online (Sandbox Code Playgroud)

提前致谢

javascript jquery json cross-domain

3
推荐指数
2
解决办法
7175
查看次数