小编Gab*_*aru的帖子

JavaScript是面向对象的吗?

关于JavaScript是否是面向对象的语言存在一些问题.甚至一句话,"只是因为一种语言有对象并不能成为OO".

JavaScript是面向对象的语言吗?

javascript oop

55
推荐指数
8
解决办法
15万
查看次数

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

onclick或onClick?

我认为在javascript中绑定click事件是通过使用来完成的node.onclick,而Chrome/Firefox似乎与我同意,但我看到它.onClick 在这里被3人写 4次,所以它不能是一个错字而我怀疑它是一个巧合.

那么,为什么人们onClick在不工作时写作呢?

更新:有两个很好的解释; 我不知道哪一个是最合理的,所以明天我会接受基于民众投票的答案.

javascript onclick

41
推荐指数
3
解决办法
3万
查看次数

在javascript中从Blob/File创建SHA-256哈希

我需要在浏览器内的文件(~6MB)中创建一个SHA-256摘要.到目前为止,我设法做到的唯一方法是这样的:

var reader = new FileReader();
reader.onload = function() {
    // this gets read of the mime-type data header
    var actual_contents = reader.result.slice(reader.result.indexOf(',') + 1);
    var what_i_need = new jsSHA(actual_contents, "B64").getHash("SHA-256", "HEX");
}
reader.readAsDataURL(some_file);
Run Code Online (Sandbox Code Playgroud)

虽然这可以正常工作,但问题是它非常慢.6MB文件需要2-3秒.我怎样才能改善这个?

javascript hash performance html5 sha

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

Code Golf:格雷码

挑战

输出n位格雷码的字符数最短的程序.n将是一个小于(由于用户建议)从标准输入中获取的任意数字.格雷码将以标准输出打印,如示例中所示.1000100000

注意:我不希望程序在合理的时间内打印格雷码(n=100000过度杀伤); 我确实希望它开始打印.

输入:

4
Run Code Online (Sandbox Code Playgroud)

预期产出:

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Run Code Online (Sandbox Code Playgroud)

algorithm code-golf gray-code

22
推荐指数
9
解决办法
7554
查看次数

PHP统计数千到K样式计数,如Facebook分享...Twitter按钮等

好的,所以我试图将我的点击计数器变成数千到一位数也显示3千次点击为3K,例如Facebook Share和Twitter Tweet Buttons.这是我的代码.知道我做错了什么吗?

$postresultscount = (($resultscount) ? $resultscount->sumCount : 1);
$k = 1000;
$L = '';
if ($postresultscount > $k) {
    $echoxcount = round($postresultscount/$k);
    $L = 'K';
} else if ($postresultscount == $k) {
    $echoxcount = 1;
    $L = 'K';
} else {
    $echoxcount = $postresultscount;
}

echo 'document.write("'.$echoxcount.' '.$L.'")';
Run Code Online (Sandbox Code Playgroud)

php

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

轻量级通知技术

我需要在django中开发一个实时的最近活动源(使用AJAX长轮询),我想知道什么是服务器端的最佳策略.

伪代码:

def recent_activity_post_save():
    notify_view()

[in the view]
while not new_activity():
    sleep(1)
return HttpResponse(new_activity())
Run Code Online (Sandbox Code Playgroud)

首先要记住的是每秒查询数据库.不可行.其他选择:

  1. 使用缓存作为通知服务
  2. 使用像芹菜这样的专业工具(我宁愿不这样做,因为它看起来有点矫枉过正)

什么是最好的方式去这里?

python django rabbitmq celery greenlets

12
推荐指数
1
解决办法
1962
查看次数

在onClick函数中传递php变量

我想在onClick函数中传递php变量值.当我传递php变量时,在UI中我得到变量本身而不是我需要变量中的值.

下面是代码片段,请帮帮我.

<?php
print '<td>'; 
$node  = $name->item(0)->nodeValue;
$insert= "cubicle"."$node<br>";
Echo '<a href= "#" onClick= showDetails("$node");>'. $insert .'</a> ';
print '</td>';
?>
Run Code Online (Sandbox Code Playgroud)

html javascript php

10
推荐指数
2
解决办法
8万
查看次数

如何使用带有node.js和express的socket.io获取请求数据?

所以我使用带有socket.io的express有这个问题.我认为这是非常自我解释; 我只需要获取会话并向socket.io请求参数数据.这不能在客户端进行,因为有些房间是私人的.有解决方案吗

io.sockets.on('connection', function (socket) {
  socket.join(ROOM ID)

  socket.on('send message', function(data) {
    NEED USER ID STORED IN session.user
  }
})

app.get('/:roomid', function (req, res) {
  //req.session.user = THE USER ID
  //req.params.roomid = THE ROOM ID
})
Run Code Online (Sandbox Code Playgroud)

node.js express socket.io

10
推荐指数
1
解决办法
9316
查看次数

怪异的Javascript表达

我试着理解Protovis是如何工作的,我偶然发现了这样的代码:

force.node.add(pv.Dot)
    .size(function(d) (d.linkDegree + 4) * Math.pow(this.scale, -1.5)) // notice this
    .fillStyle(function(d) d.fix ? "brown" : colors(d.group)) // and this
    .strokeStyle(function() this.fillStyle().darker()) // and even this
    .lineWidth(1)
    .title(function(d) d.nodeName)
    .event("mousedown", pv.Behavior.drag())
    .event("drag", force);
Run Code Online (Sandbox Code Playgroud)

我尝试滚动自己的短函数,如下所示:

(function(a) a+2)
Run Code Online (Sandbox Code Playgroud)

不是要求声明的匿名函数function(){stuff();}.有问题的代码看起来像是function() stuff;有效的.我想知道为什么.我不想学习类似的结构myvar = function(a){return a+1;},而是学习类似的结构myvar = (function(a) a+1).请仔细查看上面的代码.

但是,正如我所怀疑的那样,它引发了语法错误.

这样的代码怎么工作?

(注意:protovis代码确实可以正常工作.)

javascript syntax function

9
推荐指数
1
解决办法
551
查看次数