草庐IT

location_var

全部标签

javascript - 关于 var/const,为什么这段代码会起作用?

打开开发控制台(或在node.js中),按顺序输入以下代码:a=1vara=2consta=3正如你所见,它可以工作,但是如果你一次输入所有代码,你会得到一个错误,我认为这样更合理我想唯一的区别是提升,如果你一次输入所有代码,它将被视为:varaa=1a=2consta=3但我不明白为什么当你逐行输入时它会起作用,而且如果你跳过第一行,你会得到预期的错误 最佳答案 在环境的全局范围内,无论类型如何,都可以分配和声明变量,因此当您按顺序输入以下代码时,它会起作用。z=1varz=2constz=3现在z的值为3现在假设我们一次执行所有

javascript - 为什么 let 不比 var 慢?

做一个极端的总结,thedifferencebetweenvarandlet他们的生活在一个范围内。因此,如果我们要以thisanswer中的示例为例:(function(){for(vari=0;ii(用var声明)存在于整个function中j(用let声明)只存在于for循环中。对我来说,这意味着javascript,在每次迭代之后,除了声明和分配给变量之外,在let的情况下,它还需要执行一个额外的步骤:清理j但如果我正在阅读thespecs对了,还有很多:对于var,执行以下步骤:IterationStatement:for(Expressionopt;Expressionop

javascript - window.location 重定向有效,但原始 URL 未显示在浏览器历史记录中

下面的代码运行良好。这是我的问题:窗口url重定向,但原始url未记录在我的浏览器历史记录中。例如,如果我访问“http://example.com/page1”,浏览器会重定向到“http://example.com/test”,这是应该的。但是,我需要访问过的原始url(“http://example.com/page1”)显示在我的浏览器历史记录中,以便我可以在不同的函数中调用它。有没有办法在重定向之前获取访问的原始url以登录我的浏览器历史记录?$(document).ready(function(){if(window.location=="http://example.co

javascript - 为什么 location.reload() 比其他页面重新加载方法慢?

几个月前我发布了thisanswer关于如何通过JavaScript刷新页面。我提供了一个JSFIDDLEDEMO也是:varsolutions=[function(){location.reload();},function(){history.go(0);},function(){location.href=location.href;},function(){location.href=location.pathname;},function(){location.replace(location.pathname);},function(){location.reload(fa

JavaScript 本地作用域 : var vs. this

我似乎无法理解JavaScript变量作用域的特定情况。与我发现的其他示例和问题不同,我对嵌套函数的范围界定很感兴趣。我在thisJSFiddle设置了一个示例.相关部分如下:functionMyObject(){varself=this;vara=1;this.b=2;varinnerMethod=function(){//1and2:directreferencelogMessage("a="+a);//a=1//logMessage("b="+b);//Error:bisnotdefined//3and4:usingthislogMessage("this.a="+this.a)

javascript - try/catch 表达式中的 var 关键字 : JSLint bug or global assignment?

我注意到JSLint的一个有趣结果在研究codereview题。JSLint提示变量在定义之前被使用。这是生成相同结果的代码的缩短版本:(function(){try{vara=0;throw{name:"fakeError"};}catch(e){a=1;}}());我对JavaScript的理解是上面的代码应该等同于:(function(){vara;try{a=0;throw{name:"fakeError"};}catch(e){a=1;}}());事实上,当通过Firebug运行时,这两个示例都不会导致a存在于全局范围内。我看了一下ECMA-262spec的第12.14节,但

javascript - 如何防止 window.location.pathname 转义 URL 中的字符

我正在开发一个谷歌应用引擎应用程序。单击按钮时,我试图将用户重定向到登录页面。为此,我将window.location.pathname设置为以下字符串/_ah/login?continue=http%3A//localhost%3A8080/。但是,chrome对该字符串进行了转义,以便完整的URL变为http://localhost:8080/_ah/login%3Fcontinue=http%3A//localhost%3A8080/,这会产生404错误。我怎样才能防止这种情况发生?有效的URL是http://localhost:8080/_ah/login?continue=h

javascript - 在嵌套函数中使用 var 声明一个与 parent 参数同名的变量

我正在使用JavaScript编写一些代码并发现了意外行为。我在f中使用嵌套函数g。f有一个名为m的参数。在g中使用和声明同名变量时,会发生一些奇怪的事情:varf=function(m){varg=function(){alert(m);varm=0;};g();};f(1);此代码将导致undefined,而不是我预期的1。将alert语句移动到var行下方会得到有意义的答案0。我想这是因为JavaScript仅将函数用作名称闭包,varm将通过声明附加到函数g,但是m在alert时尚未分配。但我不确定这一点,因为如果函数没有嵌套,我觉得它的行为很好:varg=function(m

javascript - 在 PhoneGap 中调用 window.location.href 触发网络浏览器

你好我正在尝试使用PhoneGap为iPad开发应用程序。我想在index.html页面内动态加载外部网站的主页。不幸的是使用window.location.href="http://mywebsite.com/cgi-bin/index.py"触发Safari窗口的打开而不是使用PhoneGap容器。有什么建议吗?非常感谢子句 最佳答案 还有一个更简单的选择:修改config.xmlOpenalllinksinWebViewstay-in-webviewwithvaluestrueorfalseexample:ifsettotru

javascript - ES6 值声明后如何判断它是否为 var/const/let?

这个问题在这里已经有了答案:HowtocheckthatES6"variable"isconstant?(4个答案)关闭3年前。我知道我可以通过查看它的声明位置来确定一个值是varconst还是let。但是我想知道-主要是为了调试、开发JS编译器和学术兴趣-是否有可能在创建变量(var/const/let-ness)后找出它的不变性/范围。即doThing(something)会回来let或等价物。就像我们可以使用typeof或something.constructor.name为构造函数确定类型。