小编pim*_*vdb的帖子

如果'window.undefined'被覆盖,则获取'undefined'

看起来它window.undefined是可写的,即它可以设置为其默认值以外的其他值(不出所料undefined).

然而,关键在于,每当我提到undefined它时,它指的是window.undefined(window在这种情况下可以删除).

那么我该如何实际访问undefined"实例"呢?undefined如果window.undefined已更改,我将如何设置另一个变量?

如果我编码:

window.undefined = 'foo'; // This code might have been executed by someone/something
var blah = undefined; // blah is not undefined, but equals to 'foo' instead...
Run Code Online (Sandbox Code Playgroud)

我怎么可能解决这个问题?

javascript undefined

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

强制下载'data:text/plain'URL

我想知道是否可以强制浏览器(至少Chrome)下载data:text/plainURL.

Chrome会下载二进制URL(例如data:application/zip;base64,...),但不会下载可在浏览器中查看的文件(例如文本文件).

到目前为止,我已经尝试过没有运气的是:

data:text/plain;content-disposition=attachment;filename=test.txt;...
Run Code Online (Sandbox Code Playgroud)

但似乎我无法添加这样的标题.

有没有办法让Chrome下载data:text/plain,...网址?

text file download content-disposition data-url

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

如何在qUnit中测试DOM对象?

我正在用qUnit测试一些JavaScript.在一个对象中,我传递一个DOM元素,一些方法将改变元素的一些属性.

如何在qUnit中模拟DOM对象?

我想独立使用解决方案浏览器,因为我也测试了XUL应用程序.

javascript dom qunit

11
推荐指数
1
解决办法
7724
查看次数

是否有表示本地范围的Javascript变量?像全球?

global是一个包含任何全局变量的对象(至少在Node.js中,它们window在浏览器中).

是否有代表当前范围的类似变量?局部变量没有出现global(有充分的理由:))

asdf = "hello";
var local = "hello";

console.log(global); // includes asdf
console.log(???);    // includes local?
Run Code Online (Sandbox Code Playgroud)

javascript node.js

11
推荐指数
1
解决办法
1671
查看次数

使用backbonejs视图,将"onload"事件附加到图像标记的最佳方法是什么?

我想在backbonejs视图中为图像附加"onload"事件.我目前将它包含在"事件"中作为"加载img":"函数",但它并没有被解雇.

这样做有什么建议吗?

javascript backbone.js backbone-events

11
推荐指数
1
解决办法
5777
查看次数

什么是this.parentElement?

pg.myfunc = function(){
    var i = 1, j = 2;
    this.selected = 1;
    xx.newObject = this.parentElement;

...
Run Code Online (Sandbox Code Playgroud)

xx.newObject = this.parentElement;做什么?

javascript javascript-events

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

for for循环 - for(;;)

我正在探索谷歌闭包编译器,我注意到的一件事是它转换while(true)成了for(;;).

两者都挂起浏览器,但为什么空for循环不会立即中断?它的第二部分是空的,因此是假的.当第二部分是假的时候,for循环停止并继续执行for循环之后的代码是不是真的?

有人可能会对此作出解释吗?

javascript

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

是什么让jQuery对象在Chrome的开发人员工具中显示为一个数组?

我想知道jQuery对象如何在Chrome中的Developer Tools的控制台日志中显示为一个数组.

例如,如果我执行$('<a>'),我在控制台日志中看到的是:

[<a>?</a>?]
Run Code Online (Sandbox Code Playgroud)

但以下陈述是错误的:

var a = $("<a>");

Array.isArray(a);   // false
a instanceof Array; // false
Run Code Online (Sandbox Code Playgroud)

我试图修改jQuery并看看会发生什么,令人惊讶的是,length从jQuery函数中删除会删除数组表示法:

length: 0, // commenting this line removes array notation
Run Code Online (Sandbox Code Playgroud)

相反,它会显示为(箭头是要展开的实体):

> jQuery.jQuery.fn.jQuery.init
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试创建我自己的构造函数,它应该以数组表示法显示,它不起作用:

var test = function() { this.length = 0 };

new test();

// Logged (arrow is same one as before):
// > test
Run Code Online (Sandbox Code Playgroud)

所以我想知道jQuery代码中的什么使Developer Tools将实例显示为数组.在jQuery中添加了什么属性/函数/东西,使得Developer Tools在显示实例时将其作为数组处理?

arrays jquery google-chrome instance

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

使用getSelection选择整个单词

我想使用该getSelection函数从文章中选择单词到视图框.

这是我的代码:http://jsfiddle.net/xQKNh/2/.

现在我想问一下,如何使用JavaScript来选择整个单词?

为了解释,

Is your question about programming?
Run Code Online (Sandbox Code Playgroud)

在我的代码中,如果我选择r question about pro,view box将显示

r question about pro
Run Code Online (Sandbox Code Playgroud)

但是如何完成这些单词呢?所以输出:

your question about programming. 
Run Code Online (Sandbox Code Playgroud)

Javascript代码:

function getSelected() {
  if(window.getSelection) { return window.getSelection(); }
  else if(document.getSelection) { return document.getSelection(); }
  else {
    var selection = document.selection && document.selection.createRange();
    if(selection.text) { return selection.text; }
    return false;
  }
  return false;
}
$(document).ready(function() {
  $('#content-area').mouseup(function() {
    var selection = getSelected();
    if(selection && (selection = new …
Run Code Online (Sandbox Code Playgroud)

javascript

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

WebSockets性能

我正在考虑实现一个HTML5 mmog,其中涉及快速运行的对象.玩家通过射击不断改变该物体的方向.我想过WebSockets等(socket.io)和画布.

我认为方向改变的计算必须在客户端和服务器端进行,然后同步 - 与服务器是主服务器以避免作弊.

我担心的是,无论服务器的速度有多快,延迟都会导致延迟,从而导致同步失败.

有没有一种解决这个难题的好方法?如何实现这一数据量的实时同步,其中所有信息对于不错过方向变化至关重要.所有玩家都需要毫不拖延地获得移动物体的新方向,以免破坏游戏玩法.

我认为这个问题已经在现有的mmogs中解决了.

有任何想法吗?

html5 canvas multiplayer websocket

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