小编And*_*old的帖子

为什么10..toString()有效,但10.toString()不起作用?

可能重复:
在JavaScript中使用toString

152..toString(2)
Run Code Online (Sandbox Code Playgroud)

正确创建二进制字符串"10011000",但是

152.toString(2)
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

"SyntaxError:标识符在数字文字后立即启动"

为什么?后一种语法实际上听起来更正确,而前者看起来很奇怪!

javascript syntax

67
推荐指数
2
解决办法
8181
查看次数

你什么时候使用Object.defineProperty()

我想知道什么时候应该使用

Object.defineProperty
Run Code Online (Sandbox Code Playgroud)

为对象创建新属性.我知道我能够设置类似的东西

enumerable: false
Run Code Online (Sandbox Code Playgroud)

但你什么时候需要这个呢?如果你只是设置一个属性

myObject.myprop = 5;
Run Code Online (Sandbox Code Playgroud)

它的描述符都设置为true,对吧?当你们使用.defineProperty()的相当冗长的调用以及出于什么原因时,我实际上更好奇.

javascript ecmascript-5

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

掌握事件冒泡

假设我们有这样的HTML结构

<div id="container">
    <div id="nested">
        <span id="someElement"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

......我们的目标是要对一个事件监听器#container !所以,我们绑定一个监听器(jQuery代码)

$("#container").on('click', function(event) {
    alert("container was clicked");
});
Run Code Online (Sandbox Code Playgroud)

这当然有效,但我对这种方法的问题在于,由于事件通常会冒出来,如果我们实际点击#nested或触发,那个听众也会触发#someElement.我目前的解决方案,处理点击时#container点击是比较thisevent.target

$("#container").on('click', function(event) {
    if(this === event.target) {
        alert("container was clicked");
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题:这被认为是"最佳做法"吗?是否有更好的方法使用jQuery来"开箱即用"地完成相同的结果?

行动示例:http://jsfiddle.net/FKX7p/

javascript jquery events event-bubbling

22
推荐指数
1
解决办法
549
查看次数

如何以编程方式了解jQuery版本

可能重复:
从检查jQuery对象获取jQuery版本

差不多......

我不知道每次加载哪个jQuery版本,所以我希望能够对不同的版本做出不同的反应.

javascript jquery

13
推荐指数
2
解决办法
3137
查看次数

CSS 3D动画,怎么样?

我想在3D空间中制作动画.我知道这可以用CSS和HTML5,但我找不到一个实用的好教程!

我发现这个网站就是一个例子.您可以随时选择文本等.有人可以给出一个非常容易理解的小例子吗?我看到源代码,但我真的不明白它...

这是CSS3还是HTML5或两者兼而有之?

我需要多少JavaScript?

哪些浏览器支持这个?

javascript 3d html5 css3 css-animations

11
推荐指数
2
解决办法
6396
查看次数

如何使用replaceWith维护jQuery引用

如果我们有这样的示例结构:

HTML

<div id="foo">hello foo</div>
Run Code Online (Sandbox Code Playgroud)

JS

var $foo = $('#foo');
Run Code Online (Sandbox Code Playgroud)

我们需要使用jQuery的.replaceWith方法替换给定的jQuery /节点引用的整个HTML标记,分别维护获得新节点引用的最佳实践是什么

问题,.replaceWith返回对 jQuery对象的引用(这对我来说听起来或多或少是不合理的).来自文档:

但是,必须注意返回原始jQuery对象.此对象引用已从DOM中删除的元素,而不是已替换它的新元素.

如果我喜欢

$foo = $foo.replaceWith('<div>new content</div>');
Run Code Online (Sandbox Code Playgroud)

我想在同一个变量中引用/缓存新节点.是的,您可以重新查询新插入的DOM节点,但这在我看来非常笨重.

有没有任何棘手的方法来实现这一点,而无需重新查询DOM?

示例:http://jsfiddle.net/Lm7GZ/1/

html javascript jquery dom

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

在查询的NodeLists中"订单"的可靠性如何

我很想知道这个话题已经有一段时间了.有问题的方法如下:

  • getElementsByTagName
  • getElementsByClassName
  • getElementsByName
  • querySelectorAll

据我所知,这些DOM方法是唯一能够返回冻结或实时的方法NodeLists.对于其中一些方法,订单由W3C规范定义.例如,http://www.w3.orgNodeLists返回的内容写下以下内容querySelectorAll

Document,DocumentFragment和Element接口上的querySelectorAll()方法必须按文档顺序返回包含上下文节点子树中所有匹配的Element节点的NodeList.如果没有匹配的节点,则该方法必须返回空的NodeList.

但是,我找不到与我提到的其他方法类似的明确规范.我的问题是:

  • 是否有结果的定义顺序(最可能是文档顺序)
  • 这些规格是如何可靠和跨浏览器实现的

要绝对清楚:

<div>this</div>
<div>is</div>
<div>a demo</div>

// is this always guaranteed to be "<div>is</div>"
document.querySelectorAll('div')[1]
Run Code Online (Sandbox Code Playgroud)

html javascript w3c dom specifications

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

如何使用Javascript访问网络摄像头

我对这个主题进行了很长时间的讨论,没有任何令人满意的结果.其实我的基本问题是:有没有办法用Javascript访问网络摄像头?

也许用HTML5?<video>元素?

有什么选择作为开发人员访问计算机网络摄像头?

javascript webcam html5

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

&&评估问题

据我所知,逻辑&&如下

var test = false;
var foo = test && 42;
Run Code Online (Sandbox Code Playgroud)

此代码,将分配42foo 第一条件被评估为true.所以在这个例子中,foo将保持其当前值.

我想知道为什么这个片段根本不起作用:

var test = "";
var foo = test && 42;
Run Code Online (Sandbox Code Playgroud)

现在,footest分配中获取值.我很困惑.该空字符串是的Javascript的一个falsy值,那么,为什么在&&运营商在这种情况下会失败呢?

有人可以帮我解决这个问题吗?

javascript jquery ecmascript-5

6
推荐指数
2
解决办法
104
查看次数

最可行的WebSocket / Perl解决方案

我工作的公司将Perl用于所有“与后端相关的”东西。但是,我们希望通过浏览器在服务器进程和连接的客户端之间使用一些实时通信。

我们还将Apache与mod.perl一起用作 Web服务器。所以这是我的第一个问题,我没有看到在该构造中组合WebSocket服务器的任何实用方法。也许有一个我还没有找到?

关于该主题,唯一真正起作用的是Mojolicious。但是我还没有那方面的经验,所以如果有人可以在我当前的mod-perl环境中使用它,我会很高兴。我想我也必须让它作为独立的Web服务器进程运行,不是吗?

这使我想到了第二个问题。最佳实践是什么,如果您有多个perl文件,这些文件执行在Apache / modperl上运行的某些操作,但是您想让所有已连接的用户了解这些情况。我的意思是,所有这些脚本都是通过XHR访问的,但是某些操作需要其他用户来了解。当前,我们正在进行经典的ajax轮询

我正在努力解决的问题是,如果有一个独立运行的专用websocket服务器,那么所有这些脚本都需要以某种方式与该过程进行通信,对吗?一个人怎么做?管道?插座?共享内存?

从理论上讲,如果我选择使用这样一个独立的ws服务器解决方案,那么我可以用任何语言编写它,对吗?甚至可以是Ruby或Node。我只是想知道这是最好的方法还是有一个更好的解决方案,它可以更好地集成在现有的perl / modperl构造中。

TL; DR
最好的方法是拥有一个独立的独立网络套接字服务器,该服务器与其余的Apache / modperl脚本以及与其连接的客户端进行通信吗?

javascript apache perl mod-perl websocket

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

node.js/Express/Connect/Socket.io的关系

我糊涂了.我的主要问题是,何时使用纯node.js,何时我应该使用像"express"或"connect"这样的框架/ MVC.

我知道"express"只是为"连接"添加了一堆功能,但它真正有用的是什么?可以说,我希望我的所有HTTP内容都针对"Apache"服务器,并且只对node.js做一些部分内容(如WebSocket连接,CouchDB等).

在这种情况下,出于某种原因使用"express"或"connect"是否有意义?

据我所知,Socket.IO还处理HTTP请求作为回退,所以它是否足以使用Socket.IO来满足这些需求?

使用Express/Connect还有什么大优势?

javascript node.js express socket.io

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

$('div:first').is(':first')返回false,为什么?

这看起来像一个bug,但我不确定.

据我所知,jQuerys .is()方法只会检查选择器字符串是否与您调用它的元素匹配(如果传入选择器字符串ofc ...)

如果你完全符合声明的条件

$('div:first').is('div:first')
Run Code Online (Sandbox Code Playgroud)

它会正确返回true,但是......这里有一个facepalm对我来说:

$('div:last').is(':last')
Run Code Online (Sandbox Code Playgroud)

将再次,正确返回true.

看看:http://jsfiddle.net/d6UGw/

javascript css jquery

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

如何从嵌套结构中获取最高数字

我有一个类似的数据结构 - >

var prices = [
    {currency: '$', value: 52},
    {currency: '$', value: 139},
    {currency: '$', value: 31},
    {currency: '$', value: 5}
];
Run Code Online (Sandbox Code Playgroud)

我想知道这些数据的最高价格.我知道我可以遍历数组并收集数据,但最好的方法是什么?

javascript algorithm loops

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