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()什么区别?
我需要在ASP .Net应用程序中实现"未保存的更改"提示.如果用户修改了Web表单上的控件,并尝试在保存之前导航,则会出现一个提示,提示他们有未保存的更改,并为他们提供取消和保留在当前页面的选项.如果用户未触及任何控件,则不应显示提示.
理想情况下,我想在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.
我错过了什么吗?
我想使用Web浏览器在客户端显示OpenOffice文件,.odt和.odp.
这些文件是压缩文件.使用Ajax,我可以从服务器获取这些文件,但这些是压缩文件.我必须使用JavaScript解压缩它们,我尝试过使用inflate.js,http: //www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt ,但没有成功.
我怎样才能做到这一点?
出于某种原因,我无法使用以下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",但top和left属性没有设置!
这适用于Firefox 3.6.
我理解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代码的执行上下文时,执行以下步骤:
如果没有调用上下文或者eval代码没有通过直接调用(15.1.2.1.1)评估到eval函数那么,
一个.将执行上下文初始化为使用eval代码作为C的全局执行上下文,如10.4.1.1中所述.
其他,
一个.将ThisBinding设置为与调用执行上下文的ThisBinding相同的值.
湾 将LexicalEnvironment设置为与调用执行上下文的LexicalEnvironment相同的值. …
我是那些没有待办事项清单就无法完成任务的人之一.如果它不在列表中,则它不存在.
记事本方法:
当我正在编程时,我一直在打开记事本,列出了当前项目的待办事项列表.我将不断重新安排这些基于优先级的东西,然后我将它们交叉并在完成特定任务时将它们移动到已完成的部分.
代码评论:
一些程序员将他们的项目源代码用于:
// TODO: Fix this completely atrocious code before anyone sees it
Run Code Online (Sandbox Code Playgroud)
另外,我知道有一些工具可以显示代码中所有TODO的列表.
网站任务跟踪器:
您发现什么是跟踪多个项目的待办事项列表的最佳方法?
首先,我将BOOL值转换为NSNumber,以便将其置于NSUserDefaults中.后来我想从NSUserDefaults中检索BOOL值,但显然我得到NSNumber而不是BOOL.我的问题是?
目前我有:
if (someNSNumberValue == [NSNumber numberWithBool:NO]) {
do something
}
Run Code Online (Sandbox Code Playgroud)
有什么比较好的方法吗?
谢谢!
<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 ×7
asp.net ×1
coding-style ×1
debugging ×1
ecmascript-5 ×1
eval ×1
global ×1
iphone ×1
objective-c ×1
php ×1
prompt ×1
unzip ×1
zip ×1