草庐IT

动态编译

全部标签

javascript - 如何在javascript中动态创建一个包含值数组的 map

我有这个需求。根据函数中传递的参数数量,我需要在map中创建那么多条目。假设我有一个函数myfunc1(a,b,c),我需要一个键为“a”、“b”和“c”的映射,并且每个键可以有多个值。但问题是我事先不知道这些键会有多少值。当值出现时,我需要将它们添加到与映射中的匹配键对应的值列表中。我如何在javascript中执行此操作?我找到了如下静态答案。但我想动态地做到这一点。我们可以使用push方法吗?varmap={};map["country1"]=["state1","state2"];map["country2"]=["state1","state2"];

javascript - 如何将 id 的动态值传递给我从 json 获取的 jquery?

我从json中获取值并传递给自动完成搜索字段。[{"id":1,"name":"JAVA"},{"id":2,"name":"cakePHP"},"id":3,"name":"Android"}]例如,当我点击JAVA时,我想获取JAVA的id,比如www.example.com/1J查询代码:$('#search').typeahead({ajax:'/searchendpoint/search',onSelect:function(){window.location="/home/view/"+$(this).val().id;}}); 最佳答案

javascript - 在 Vue.js 中动态过滤对象数组

我有一个Vue.js应用程序。在此应用程序中,我尝试将过滤器值动态应用于对象的Array。Array中的每个对象都有字段。我正在尝试按字段值过滤这些对象。每个字段都可以按多个值过滤。此时,我一直没有弄清楚如何进行这种过滤。我试过使用JavaScript内置的filter函数。但是,这总是为我返回一个空的结果集。我把这个Fiddle放在一起了,其中包括以下代码:newVue({el:'#app',data:{currentFilterProperty:'',currentFilterValue:'',cols:[{title:'Name',prop:'name'},{title:'Age

javascript - 如何根据文本宽度动态调整 SVG 矩形的大小?

在SVG图形中,我创建了由矩形和一些文本组成的节点元素。文本的数量可能会有很大差异,因此我想根据文本的宽度设置矩形的宽度。下面是使用D3.js创建的矩形(使用固定的宽度和高度值):varrects=nodeEnter.append("rect").attr("width",rectW).attr("height",rectH);后跟文本元素:varnodeText=nodeEnter.append("text").attr("class","node-text").attr("y",rectH/2).attr("dy",".35em").text(function(d){returnd

javascript - 如何动态更改 JavaScript 函数的一行?

假设我有以下功能:functionalertMesg(){alert("Thisokfunctionalertsmessage!");}现在,在运行时,我想更改alertMesg函数来执行其他操作。我的想法是做这样的事情。vartemp=window.alertMesg.toString.replace("ok","great")temp=temp.replace('functionalertMesg()',"");window.alertMesg=newFunction(temp);基本上,问题是我无法控制alertMesg函数中的源。我想更改功能,但实际上我无法更改它的来源,因为它

javascript - 如何在 Javascript 中使用 getElementById 获取动态 ID?

我需要在Javascript的document.getElementById中获取一个动态值。但是,当我放置一个变量时它不起作用,如下所示:var=myVar;myVar='test';document.getElementById(myVar);我该如何实现?非常感谢 最佳答案 你的语法错误。这个:var=myVar;应该是:varmyVar;所以你会:varmyVar;myVar='test';document.getElementById(myVar);然后您可以将代码放在onload中以确保该元素可用。示例:http://j

javascript - 使用具有高级优化功能的 Closure 编译器时如何在 javascript 中保留全局变量?

我有自己的Javascript库,我想通过使用具有高级优化功能的Google闭包编译器来缩小它。通过查看docs我看到了如何声明在库外使用的函数。但是我找不到一种方法来保存在我的库中声明的全局变量。Closure编译器只是删除它们,因为它认为它们从未被使用过。有人可以帮忙吗?编辑:示例代码:varvariable_1=true;这是在我的库开始时全局定义的,但它从未在库本身中使用过。当它包含在某些页面中时,它会在库外使用。但是Closure编译器不知道,这就是它删除这些声明的原因。 最佳答案 闭包编译器无法移除声明为window["

javascript - Google Closure 编译器解析错误 : invalid property id for `css({float:' left'})`

我正在使用GoogleClosureCompiler应用程序(命令行界面)。当我运行它时,出现以下错误。deploy/js/Home.js:40:ERROR-Parseerror.invalidpropertyidthis.$images.wrapAll('').css({float:'left'});^1error(s),0warning(s) 最佳答案 我相信你需要做:{'float':'left'}这是因为float在listofJavakeywordsreservedbyJavaScript上,因此它不能用作属性名称。这在较

javascript - 动态加载的 phonegap.js 问题

我正在尝试动态加载phonegapjavascript文件(这样当我使用Ripple时我可以选择不在Debug模式下加载它)但是我遇到了一些问题。我使用普通脚本标记加载jquery和jquerymobilejavascript库。在另一个脚本block中,我这样做:functiononDeviceReady(){alert("DeviceReady!");}$(document).ready(function(){alert("docready!");$.getScript("js/phonegap.0.9.5.1.js",function(){alert("GotPhonegap!"

javascript - Javascript 是编译还是两次解释?

我是一名公认的新手JavaScript程序员,正在尝试学习更多知识。所以我向你们求助,带着这个简单的问题:)。我正在阅读的O'Reilly书一直提到JavaScript代码的编译时间。我对函数式编程(方案等)的了解告诉我,JavaScript实际上是由浏览器解释的,很可能需要通过JavaScript两次。我的评估有误吗?或者这本书引用的编译时间实际上只是解释器的第一遍,类似于Perl或Python的运行方式?谢谢! 最佳答案 它依赖于浏览器。查看WebKit的SquirrelFishExtreme和GoogleV8以了解最快的结果,