我正在使用模块模式 ,我想要做的事情之一就是dynamic地包含一个外部JavaScript文件,执行该文件,然后在我的模块的return { }文件中使用函数/variables。 我无法弄清楚如何轻松做到这一点。 有没有任何标准的方法来执行伪同步外部脚本加载? function myModule() { var tag = document.createElement("script"); tag.type = "text/javascript"; tag.src = "http://some/script.js"; document.getElementsByTagName('head')[0].appendChild(tag); //something should go here to ensure file is loaded before return is executed return { external: externalVariable } }
我有这两个数组:一个充满来自ajax请求的信息,另一个存储用户点击的button。 我使用这个代码(我填写了样本编号): var array1 = [2, 4]; var array2 = [4, 2]; //It cames from the user button clicks, so it might be disordered. array1.sort(); //Sorts both Ajax and user info. array2.sort(); if (array1==array2) { doSomething(); }else{ doAnotherThing(); } 但是,即使两个数组是相同的,但名称不同,它总是会给出false 。 (我在Chrome的JS控制台中检查过)。 那么,有什么办法可以知道这两个数组是否包含相同的? 为什么这是false ? 我怎样才能知道第一个数组中的哪些值不在第二个?
MDC描述==运算符如下 : 如果两个操作数的types不同,JavaScript会转换操作数,然后进行严格的比较。 如果任一操作数是一个数字或一个布尔值,操作数将尽可能转换为数字。 否则,如果任一操作数是一个string,则另一个操作数将被转换为一个string(如果可能)。 考虑到这一点,我会评估"true" == true ,如下所示: 他们是同一types吗? 没有 操作数是数字还是布尔值? 是 我们可以转换成一个数字吗? 否 ( isNaN(Number("true")) // true ) 操作数是string吗? 是 我们可以将另一个操作数转换为string吗? 是 ( String(true) === "true" // true ) 我已经结束了string"true"和"true" ,这应该评估为true ,但JavaScript显示错误。 我错过了什么?
我使用NodeJS在MongoDB中插入文档。 使用collection.insert我可以像这样的代码中插入一个文档到数据库中: // … collection.insert(objectToInsert, function(err){ if (err) return; // Object inserted successfully. var objectId; // = ??? }); // … 我怎样才能得到插入对象的_id ? 有没有办法让_id没有获取最新的对象_id ? 假设在同一时间很多人访问数据库,我不能确定最新的ID是插入对象的ID。
我正在处理的应用程序包含各种状态(使用ui路由器),其中一些州要求您login,其他人是公开的。 我创build了一个有效地检查用户是否login的方法,当前有什么问题实际上是在必要时redirect到login页面。 应该注意的是,login页面目前不在AngularJS应用程序中。 app.run(function ($rootScope, $location, $window) { $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { if (toState.data.loginReq && !$rootScope.me.loggedIn) { var landingUrl = $window.location.host + "/login"; console.log(landingUrl); $window.open(landingUrl, "_self"); } }); }); console.log正确显示了预期的URL。 在那之后,我尝试了几乎所有的事情,从$ window.open到window.location.href,不pipe我尝试过什么,都不会发生redirect。 编辑(已解决): 发现问题。 var landingUrl = $window.location.host + "/login"; $window.open(landingUrl, "_self"); variableslandingUrl被设置为'domain.com/login',这不会与$ window.location.href(这是我尝试的事情之一)的工作。 但是在改变代码之后 var landingUrl = "http://" + $window.location.host […]
<a onclick="javascript:func(this)" >here</a> 这在剧本中意味着什么?
这应该很简单,但我有麻烦了。 我如何得到一个子元素的父母的div? HTML <div id="test> <p id="myParagraph">Testing</p> </div> JavaScript的 var pDoc = document.getElementById("myParagraph"); var parentDiv = ?????????? 我会以为document.parent或parent.container会工作,但我不断收到not defined错误。 请注意, pDoc是被定义的,而不是它的某些variables。 有任何想法吗? PS我宁愿避免jQuery如果可能的话。
我想显示一个数字到2位小数。 我以为我可以在JavaScript中使用toPrecision(2) 。 但是,如果数字是0.05 ,我得到0.0500 。 我宁愿它保持不变。 在JSbin上查看 什么是最好的方法来做到这一点? 我可以考虑编写一些解决scheme,但我想像(我希望)这样的东西是内置的?
我有下面的代码,绘制一个基于正弦函数的线path: var data = d3.range(40).map(function(i) { return {x: i / 39, y: (Math.sin(i / 3) + 2) / 4}; }); var margin = {top: 10, right: 10, bottom: 20, left: 40}, width = 960 – margin.left – margin.right, height = 500 – margin.top – margin.bottom; var x = d3.scale.linear() .domain([0, 1]) .range([0, width]); var y […]
是否有可能使用JavaScript / jQuery保存文本到一个新的文本文件,而不使用PHP? 我试图保存的文本可能包含HTML实体,JS,HTML,CSS和PHP脚本,我不想转义或使用urlencode! 如果只能使用PHP来实现,那我怎样才能将文本传递给PHP而不用编码呢?