小编Qan*_*avy的帖子

return和return()有什么区别?

function a() { return 1; }
function b() { return(1); }
Run Code Online (Sandbox Code Playgroud)

我在Chrome的控制台中测试了上面的代码,两者都返回了1.

function c() { return "1"; }
function d() { return("1"); }
Run Code Online (Sandbox Code Playgroud)

我还测试了上面的代码,并返回了两个函数"1".

那么使用return和有return()什么区别?

javascript

98
推荐指数
7
解决办法
9824
查看次数

检测未保存的更改

我需要在ASP .Net应用程序中实现"未保存的更改"提示.如果用户修改了Web表单上的控件,并尝试在保存之前导航,则会出现一个提示,提示他们有未保存的更改,并为他们提供取消和保留在当前页面的选项.如果用户未触及任何控件,则不应显示提示.

理想情况下,我想在JavaScript中实现它,但在我开始编写自己的代码之前,是否有任何现有的框架或推荐的设计模式来实现这一目标?理想情况下,我希望能够轻松地在多个页面上重复使用,而且变化很小.

javascript asp.net prompt

89
推荐指数
8
解决办法
9万
查看次数

如何在JavaScript中获取全局对象?

如果已加载某个其他模块,我想检查脚本.

if (ModuleName) {
    // extend this module
}
Run Code Online (Sandbox Code Playgroud)

但如果ModuleName不存在,那就是throws.

如果我知道Global Object我能用什么呢.

if (window.ModuleName) {
    // extend this module
}
Run Code Online (Sandbox Code Playgroud)

但是,因为我希望我的模块与浏览器和工作node,rhino等等,我不能假设window.

据我了解,这在ES 5中不起作用"use strict";

var MyGLOBAL = (function () {return this;}()); // MyGlobal becomes null
Run Code Online (Sandbox Code Playgroud)

这也会因抛出异常而失败

var MyGLOBAL = window || GLOBAL
Run Code Online (Sandbox Code Playgroud)

所以我似乎离开了

try {
    // Extend ModuleName
} 
catch(ignore) {
}
Run Code Online (Sandbox Code Playgroud)

这些情况都不会传递JSLint.

我错过了什么吗?

javascript global

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

解压缩文件

我想使用Web浏览器在客户端显示OpenOffice文件,.odt和.odp.

这些文件是压缩文件.使用Ajax,我可以从服务器获取这些文件,但这些是压缩文件.我必须使用JavaScript解压缩它们,我尝试过使用inflate.js,http: //www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt ,但没有成功.

我怎样才能做到这一点?

javascript zip unzip

70
推荐指数
4
解决办法
11万
查看次数

设置顶部和左侧CSS属性

出于某种原因,我无法使用以下JavaScript设置"顶部"和"左侧"CSS属性.

var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = 200;
div.style.left = 200;
document.body.appendChild(div);
Run Code Online (Sandbox Code Playgroud)

用Firebug我可以看到div获取position设置为"absolute",但topleft属性没有设置!

这适用于Firefox 3.6.

javascript coding-style

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

在严格模式下间接评估

我理解eval()在非严格的上下文中是如何工作的,但是eval()在严格模式下使用的情况完全让我迷惑不解.如果eval()是在全球范围内直接调用,变量保存在新的内部eval()范围:

'use strict';
eval('var a = 1;');
console.log(a); // ReferenceError: a is not defined
Run Code Online (Sandbox Code Playgroud)

但是,如果我在全局范围内执行间接调用eval()(应该是同一个东西,对吗?),它就好像它不是在严格模式下(如果你不相信我,请看这个JSFiddle):

'use strict';
(0, eval)('var a = 1;'); // indirect call to eval
console.log(a); // 1???
Run Code Online (Sandbox Code Playgroud)

如果你不明白是什么(0, eval),请参阅为什么谷歌主页使用(0,obj.func)(args)语法?.

至少根据我对如何eval()在严格模式下工作的理解,它意味着(无论eval()是直接还是间接调用)为eval()调用中定义的变量创建一个新的范围,但这似乎不是这里的情况.规范说明如下:

10.4.2输入Eval代码

当控件进入eval代码的执行上下文时,执行以下步骤:

  1. 如果没有调用上下文或者eval代码没有通过直接调用(15.1.2.1.1)评估到eval函数那么,

    一个.将执行上下文初始化为使用eval代码作为C的全局执行上下文,如10.4.1.1中所述.

  2. 其他,

    一个.将ThisBinding设置为与调用执行上下文的ThisBinding相同的值.
    湾 将LexicalEnvironment设置为与调用执行上下文的LexicalEnvironment相同的值. …

javascript eval ecmascript-5

51
推荐指数
1
解决办法
5703
查看次数

你如何跟踪你的编程TODO?

我是那些没有待办事项清单就无法完成任务的人之一.如果它不在列表中,则它不存在.

记事本方法:

当我正在编程时,我一直在打开记事本,列出了当前项目的待办事项列表.我将不断重新安排这些基于优先级的东西,然后我将它们交叉并在完成特定任务时将它们移动到已完成的部分.

代码评论:

一些程序员将他们的项目源代码用于:

// TODO: Fix this completely atrocious code before anyone sees it
Run Code Online (Sandbox Code Playgroud)

另外,我知道有一些工具可以显示代码中所有TODO的列表.

网站任务跟踪器:

您发现什么是跟踪多个项目的待办事项列表的最佳方法?

task-management

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

如何转换和比较NSNumber和BOOL?

首先,我将BOOL值转换为NSNumber,以便将其置于NSUserDefaults中.后来我想从NSUserDefaults中检索BOOL值,但显然我得到NSNumber而不是BOOL.我的问题是?

  1. 如何从NSNumber转换回BOOL?
  2. 如何比较NSNumber与BOOL值.

目前我有:

if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
    do something
}
Run Code Online (Sandbox Code Playgroud)

有什么比较好的方法吗?

谢谢!

iphone objective-c

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

XDebug或Zend调试器?

在我看来,它们具有相同的功能集,但我不确定.

两者之间的功能有何不同?

php debugging

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

将Javascript变量传递给<a href>

<script language="javascript" type="text/javascript">
var scrt_var = 10; 
</script>
Run Code Online (Sandbox Code Playgroud)

HTML部分:

<html>
 this is a <a href ="2.html & Key= scrt_var">Link  </a>
</html>
Run Code Online (Sandbox Code Playgroud)

我只想将javascript变量发送到link(url参数)

没有AJAX

javascript

47
推荐指数
5
解决办法
26万
查看次数