在我最近参加的编程挑战中,我必须使用window.name属性来存储/操作数据。我发现,当您更改此属性时,它会在页面刷新时持续存在(但在打开具有相同URL的新页面时不会)。我能找到的唯一信息是,这是已知的,甚至被某些框架用作数据存储,但我想知道为什么(比如为什么window.name是持久的?有任何历史原因吗?)以及如何(当window.name在页面更改之间保留以及何时被丢弃时有哪些规则?)。显然,我的Google-fu还不够强大,无法找到这些问题的答案(在MDN页面上什至没有提到它!)所以我希望也许你能帮助我。 最佳答案 我的理
是否可以检查JavaScript文件是直接运行还是需要作为es6模块导入的一部分。例如包含一个主脚本。//main.jsimport'./other';if(mainTest){console.log('Thisshouldrun');}导入依赖项。//other.jsif(mainTest){console.log('Thisshouldneverrun');}包括应导致来自main.js的控制台消息但不是other.js。我找到了answertothisquestionwithregardstonode,但我特别对es6导入感兴趣 最佳答案
我目前正在将一些代码从1.8迁移到1.9.2,我面临着小部件在初始化之前被销毁的情况。例如,现在在1.9.2中以下可能是错误的(抛出异常):有什么方法可以检查调用是否可行:$div.buttonset("destroy") 最佳答案 您可以使用$element.data("widget-name")检查小部件是否存在,然后调用您想要的。小部件的正确名称是命名空间+破折号+插件名称。例如:ui-tabs、ui-dialog等在我的项目中,我有一个全名为mediaITPro.player的小部件。传递给数据调用的正确名称是“mediaI
当我运行一个程序来更改我的javascript代码的某些部分时,它在将var声明为函数时出现错误,如下所示:varsome_function=functionname(args){//dostuff};代码本身有效,但我只是想知道是否可以删除我发现的所有函数的“名称”(因为它不会在分析我的javascript的其他问题中破坏它)或者它是否可以它可能有我看不到的任何用途。删除“名称”:varnew_function=function(){/*dostuff*/};注意:它第一次出现的原始文件在jquery-1.6.4.js中在:jQuerySub.fn.init=functioninit
这个问题在这里已经有了答案:LengthofaJavaScriptobject(43个回答)关闭9年前。我不确定它们叫什么,但我的意思是:array["water"]=50;array["fire"]=30;这里的长度应该是2如何查看数组中有多少个属性?array.length不起作用=(我一直在尝试各种事情,我觉得我在这里错过了一些非常简单的东西..谢谢你的帮助
这是我的另一个widget-relatedquestion的后续问题.我想检查一下实际写入小部件首选项的内容。这些数据实际存储在哪里? 最佳答案 每个单独的小部件和仪表板本身的首选项都保存在文件夹/Users/YOUR-USER-NAME/Library/Preferences/中。 关于javascript-DashboardWidget首选项实际保存在哪里?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow
有没有区别:varx={hello:'world'};和varx={'hello':'world'};?也就是说,在什么情况下,将属性名称作为字符串给出与将其作为“原始”名称给出会产生不同的结果?例如,我知道varx={};x['@£$%']='bling!';是有效的(因为任何字符串都可以是属性),但是x.@£$%='bling!'不会工作。语言关键字或保留关键字也不会作为属性名称(因此varx={for:'good',class:'y'};将不起作用。还有什么吗?例如,如果varhello='goodbye';是在上面的例子中定义的吗?或者其他的,比如functionhello()
我可以使用“constructor”属性来检测JavaScript中的类型吗?或者有什么我应该知道的。例如:vara={};a.构造函数名称;//输出“对象”或varb=1;b.构造函数名称;//输出“数字”或vard=newDate();d.构造函数名称;//输出“日期”而不是对象或varf=newFunction();f.构造函数名称;//输出“函数”而不是对象只有在参数上使用它时arguments.constructor.name;//像第一个例子一样输出对象我经常看到开发人员使用:Object.prototype.toString.call([])或Object.prototy
我收到与[jCoverflip][1]相关的错误,该错误仅出现在IE8中。出现以下错误:SCRIPT438:Objectdoesn'tsupportpropertyormethod'widget'jquery.jcoverflip.js,line508character1与以下代码相关:$.widget('ui.jcoverflip',{我在脚本之前同时包含了jQuery和jQueryUI,而且脚本在所有其他浏览器中运行良好。是什么导致了这个问题? 最佳答案 您似乎加载了两次jquery:它们似乎分别是v1.3.2和v1.0.4(!
我用VisualStudio代码编写了一个angular2应用程序。最近,我将VisualStudioCode更新到了1.10.2。但它已将window突出显示为有错误。当我检查它时,我发现它说:[ts]Cannotfindname'window'.我的代码如下:saveCustomIndex(customIndex:any,indexName:string){window.localStorage.setItem(indexName,JSON.stringify(customIndex));}截图我该如何处理?谢谢! 最佳答案 在