草庐IT

javascript - 有没有一种方法可以创建在加载 Google Maps Javascript API 时解析的 promise ?

应该加载GoogleMapsJavascriptAPIthisway:functioninitMap(){console.log('loaded');}如果我必须回答我的问题,我会这样做:vargoogleAPILoadedPromise=Promise.pending();functioninitMap(){googleAPILoadedPromise.resolve();}googleAPILoadedPromise.promise.then(function(){console.log('loaded');});但是延迟已被弃用并且可能被视为反模式,至少在bluebird中是这样

javascript - 请建议一种服务于包含服务器端代码的 JavaScript 的策略

我认为这是一个常见的场景——我有一个View,我在其中使用HtmlHelper来生成一些HTML元素,我还有一个辅助扩展,可以让我获取生成的元素的ID,以便我可以在JavaScript中使用它(例如,jQuery):$('#@Html.FieldIdFor(model=>model.Name)').autocomplete({或者在执行Ajax时,我从UrlHelper构建URL字符串,再次使用服务器端代码将一些客户端内容放在页面上:$.get('@Url.Action("States","Location")',{country:$(this).val()},function(jso

javascript - 动态 getter 和 setter - 一种可能性

我正在尝试解决最近想到的一个问题。假设我们想要并且知道如何在javascript中使用动态getter和setter,更像是php中的那些(__get,__set)。但是由于javascript没有包罗万象的属性,我们唯一能做的就是提供一个可能的键列表并迭代以仅在这些键上添加getter和setter,并希望没有其他人会出现。但问题远未解决。所以我想到的下一个方法是使用带有try和catch的讨厌的hack,所以任何时候在对象中未定义的名称都可以使用catch作为getter(至少),然后恢复代码,这是一件困难且可能毫无意义的事情。但是从这里出现了我的第二个问题,在这样的用途中:con

javascript - 一种更具可读性的方式来做到这一点?

我知道有一种更易读的写法:varstring=((r.d!=0?r.d+(r.d==1?'day':'days'):'')+(r.h!=0?r.h+(r.h==1?'hour':'hours'):'')+(r.m!=0?r.m+(r.m==1?'minute':'minutes'):'')+(r.s!=0?r.s+(r.s==1?'second':'seconds'):'')); 最佳答案 尝试一些更具可读性的东西:functionsingleOrPlural(val,single,plural){if(val==1)returnv

javascript - 有没有一种简单的方法可以确定用户在哪个半球?

我正在开展一个包含季节性内容的项目,我们正在考虑确定用户的位置以计算出适合他们的季节。这样做的明显方法是对他们的IP进行地理定位,然后获取纬度。>0为北半球,我很高兴这样做-虽然将IP精确定位到一个确切位置似乎有点浪费,只是为了确定他们在地球的哪一半-但我想我会把它扔掉在那里,以防万一有人有任何可能缩短流程的技巧。请求header,可以在客户端使用JS提取的东西,这些都很容易获得-我只是认为它们没有任何帮助。 最佳答案 我会先检查客户的时钟-如果客户的日历中存在夏令时,你可以判断他是在赤道以北还是以南。如果没有dst信息,可以使用g

javascript - 为什么来自 Promise `.then` 方法的回调是一种反模式

我在StackOverflow上看到了人们建议为AngularJS服务提供回调函数的答案。app.controller('tokenCtrl',function($scope,tokenService){tokenService.getTokens(functioncallbackFn(tokens){$scope.tokens=tokens;});});app.factory('tokenService',function($http){vargetTokens=function(callbackFn){$http.get('/api/tokens').then(functionon

javascript - 说 JavaScript 是一种 "single-thread"语言准确吗?

这种说法我听过很多次,但我个人认为这不太有道理。我认为人们混淆了作为语言规范的JavaScript和实践中的JavaScript(浏览器、Node等)。当然在大多数情况下JavaScript是在单线程环境中执行的;但AFAIK语言规范中没有任何内容要求如此。我认为这就像说Python是“可解释的”,而实际上这完全是一个实现问题。那么,说JavaScript是一种“单线程”语言是否准确? 最佳答案 您所说的JavaScript似乎是指ECMAScript。浏览器中已经有了多线程,使用webworkers构建,并且基于数据的强隔离:工作

javascript - 有没有一种简单的方法可以将 jshint 与 netbeans 集成?

在网上搜索了netbeans的jshint插件,但没有找到...谁能描述或展示在netbeans中集成jshint的简单解决方案? 最佳答案 netbeans没有好的插件。安装节点,使用grunt并开始摇摆!:) 关于javascript-有没有一种简单的方法可以将jshint与netbeans集成?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10227881/

Javascript:在函数之间传递大对象或字符串被认为是一种不好的做法

在函数之间传递大字符串或对象(比方说来自ajax响应)是否被认为是一种不好的做法?以任何方式将响应保存在变量中并继续重用该变量是否有益?所以在代码中它会是这样的:varresponse;$.post(url,function(resp){response=resp;})functiondoSomething(){//dosomethingwiththeresponsehere}对比$.post(url,function(resp){doSomething(resp);})functiondoSomething(resp){//dosomethingwiththeresphere}假设r

javascript - 数字字符代码转换成另一种语言数字

我想将数字转换成其他语言的数字,我该怎么做?我希望能够支持尽可能多的语言(谷歌翻译支持的语言)。我一直在阅读,我相信这可以通过charcode完成。这是我从某个Javascript应用程序复制的一些代码,但它只支持2种语言。TextTools.arabicNumber=function(str){varres=String(str).replace(/([0-9])/g,function(s,n,ofs,all){returnString.fromCharCode(0x0660+n*1);});returnres;}TextTools.farsiNumber=function(str)