草庐IT

javascript - 处理大型 JavaScript 项目的技巧

我有一些使用JavaScript的经验-但主要是一些小东西,我以前从未用Javascript做过任何真正大的事情。不过,现在我正在做一个相当大的javascript相关项目,一个由jquery驱动的前端,它通过Ajax发送/接收JSON与服务器端后端通信。我想知道您能否提供一些有关如何处理大型javascript项目的有用信息-是否有任何有用的工具/库/良好实践?提前致谢。 最佳答案 我的一个重要建议是模块化在JavaScript中,变量很容易破坏其他变量。为了避免这种情况,模块化是必须的。有多种方法可以利用JavaScript的范

javascript - 未捕获错误 : Mismatched anonymous define() module: function definition(name, 全局)

这个问题在这里已经有了答案:Mismatchedanonymousdefine()module(8个答案)关闭6年前。我在加载主干的requirejs文件时遇到了这个错误。我尝试加载r.js,requirejs优化器,但我仍然坚持使用它。UncaughtError:Mismatchedanonymousdefine()module:functiondefinition(name,global){"usestrict";varPubSub={name:'PubSubJS',version:'1.3.1-dev'以下是我的js:define(['jquery','underscore','

javascript - 后退按钮/退格键不适用于 window.history.pushState

我为我的网站制定了一个解决方案,其中包括使用ajax来呈现网站上的一般信息。为此,每当用户使用window.history.pushState方法加载某些特定内容时,我都会更改URL。但是,当我按退格键或按后退键时,旧网址的内容未加载(但加载了网址)。我已经尝试了SO上提出的几种解决方案,但都没有成功。这是其中一个ajax函数的示例:$(document).ready(function(){$(document).on("click",".priceDeckLink",function(){$("#hideGraphStuff").hide();$("#giantWrapper").s

javascript - 如何从 JavaScript 数组中删除重复对象

这是我的代码varstudentsList=[{"Id":"101","name":"siva"},{"Id":"101","name":"siva"},{"Id":"102","name":"hari"},{"Id":"103","name":"rajesh"},{"Id":"103","name":"rajesh"},{"Id":"104","name":"ramesh"},];functionarrUnique(arr){varcleaned=[];studentsList.forEach(function(itm){varunique=true;cleaned.forEach(

javascript - 为什么连续调用 `pattern.test(name)` 结果相反

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么这段代码先返回true,然后返回falsevarpattern=newRegExp("mstea",'gi'),name="AmandaOlmstead";console.log('1',pattern.test(name));console.log('1',pattern.test(name));演示:Fiddle

javascript - 如何 append 到 Angular js中的json对象

我有一个这样的对象$scope.releases=[{name:"AllStage",active:true}];我需要向它append更多数据[{name:"Development",active:false},{name:"Production",active:false},{name:"Staging",active:false}]所以最终的数据应该是这样的[{name:"AllStage",active:true}{name:"Development",active:false},{name:"Production",active:false},{name:"Staging",

javascript - constructor.name 在 Internet Explorer 中未定义

我在IE中的调试工作今天结束,发现constructor.name是undefined。我创建了以下重现该问题的简单代码:({}).constructor.name===undefined//=>true是否有任何解决方法可以使此工作正常进行?也许以某种方式覆盖原型(prototype)?如果可能的话,我不想更改语法,因为更改会很大。JSFIDDLE 最佳答案 来自matt.scharley.me/***HackinsupportforFunction.nameforbrowsersthatdon'tsupportit.*IE,I'

javascript - 在一个请求中接受一组动态大小和常见标量类型的 GraphQL 突变

我需要能够在单个请求中创建一个用户并添加它最喜欢的电影(一个对象数组,引用了Movies集合和他对每部电影的个人评分)。看起来像这样的东西(伪代码)varexSchema=`typeMutation{addUser(name:String!favMovies:[{movie:String!#reftomoviescollpersonal_rating:Int!#thisisdifferentforeverymovie}]):User}...`在单个请求中执行此操作的graphql方法是什么?我知道我可以通过多个突变/请求来实现结果,但我想一次性完成。 最佳答

javascript - 将对象转换为键值对象数组,如 `{ name: "Apple",value : "0.6" }`

我有一个这样的对象:consttotal={"Apple":0.6,"Banana":0.6,"Orange":1,"Grapes":0.4,"Pineapple":0.4};现在我想将它转换成一个键值对象数组,其中每个对象都有相同的两个属性集,"name"和"value",分别保存原始对象的每个属性的键和值:[{"name":"Apple","value":0.6},{"name":"Banana","value":0.6},{"name":"Orange","value":1},{"name":"Grapes","value":0.4},{"name":"Pineapple","v

javascript - javascript 函数中是否允许使用相同的变量和参数名称?

例如,我可以使用相同的变量和参数吗?我会遇到什么问题?示例代码functionmytask(name,title){varname=name;vartitle=title;varshowalert=("Hi"+name+"yourjobtitleis"+title);console.log(showalert);returnshowalert;}document.write(mytask("dan","administrator")); 最佳答案 嗯,在javascript中,你可以认为,作用域是用花括号定义的:{和},并且在作用域