Tag: JavaScript

`throw new Error`和`throw someObject`有什么区别?

我想编写一个通用的error handling程序,它会捕获代码中任何实例抛出的自定义错误。 当我没有像下面的代码throw new Error('sample') try { throw new Error({'hehe':'haha'}); // throw new Error('hehe'); } catch(e) { alert(e); console.log(e); } 日志在Firefox中显示为Error: [object Object] ,我无法parsing对象。 对于第二次throw日志显示为: Error: hehe 而当我做到了 try { throw ({'hehe':'haha'}); } catch(e) { alert(e); console.log(e); } 控制台显示为: Object { hehe="haha"}其中我能够访问错误属性。 有什么不同? 代码中看到的差异是什么? 像string将只是作为string和对象作为对象传递,但语法会不同? 我还没有探讨抛出错误对象…我只做了扔string。 除了上面提到的两种方法还有别的方法吗?

相当于PHP的in_array()

有没有在JavaScript的方式来比较一个数组的值,看看它是否在另一个数组? 类似于PHP的in_array函数?

Google Maps API v3:可以在fitBounds之后设置缩放吗?

我有一套要在embedded式Google地图(API v3)上绘制的点。 我希望边界能容纳所有点,除非缩放级别太低(即缩小得太多)。 我的方法是这样的: var bounds = new google.maps.LatLngBounds(); // extend bounds with each point gmap.fitBounds(bounds); gmap.setZoom( Math.max(6, gmap.getZoom()) ); 这不起作用。 如果直接在fitBounds之后调用,最后一行“gmap.setZoom()”不会更改地图的缩放级别。 有没有办法获得一个界限的缩放级别而不应用到地图? 其他想法来解决这个问题?

有没有JavaScript的编码标准?

JavaScript的既定编码标准是什么?

Google地图缩放控件混乱了

我使用Google Maps API(v.3)显示带有几个标记的地图。 我最近注意到,用于缩放地图的控件弄乱了(并不总是这样)。 我不知道是什么原因。 更新 这篇文章最初有一个链接到一个页面,您可以查看这个问题,但现在链接被破坏,所以我已经删除它。

如何使一个函数等待,直到使用node.js调用callback

我有一个简化的函数,看起来像这样: function(query) { myApi.exec('SomeCommand', function(response) { return response; }); } 基本上我希望它调用myApi.exec ,并返回callbacklambda中给出的响应。 但是,上面的代码不起作用,只是立即返回。 只是为了一个非常冒险的尝试,我试了下面哪个都没用,但是至less你明白了我想要达到的目的: function(query) { var r; myApi.exec('SomeCommand', function(response) { r = response; }); while (!r) {} return r; } 基本上,这是一个很好的“node.js /事件驱动”方式吗? 我希望我的函数等待callback被调用,然后返回传递给它的值。

使用RequireJS加载主干和下划线

我正在尝试使用RequireJS加载Backbone和Underscore(以及jQuery)。 使用Backbone和Underscore的最新版本,似乎有点棘手。 首先,Underscore将自己注册为一个模块,但Backbone假设Underscore在全球范围内可用。 我还应该注意到Backbone似乎并没有将自己注册为一个与其他库不一致的模块。 这是最好的main.js我可以拿出这个作品: require( { paths: { 'backbone': 'libs/backbone/backbone-require', 'templates': '../templates' } }, [ // jQuery registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7/jquery.min.js', // Underscore registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.2.1/underscore-min.js' ], function() { // These nested require() calls are just due to how Backbone is built. Underscore basically says if require() // is […]

在JsFiddle中打印Var

我怎么会从我的JavaScript打印JsFiddle的结果屏幕。 我不能使用document.write() ,它不允许它,既不print 。 我应该使用什么?

显示popup窗口最优雅的方式

我有这个AngularJS应用程序。 一切正常。 现在,当特定的条件变成真实时,我需要显示不同的popup窗口,我想知道什么是最好的进行方式。 目前我正在评估两个选项,但我完全开放其他选项。 选项1 我可以为popup窗口创build新的HTML元素,并直接从控制器追加到DOM。 这将打破MVCdevise模式。 我对这个解决scheme不满意。 选项2 我总是可以在静态HTML文件中插入所有popup窗口的代码。 然后,使用ngShow ,我可以隐藏/只显示正确的popup窗口。 这个选项不是真的可扩展的。 所以我很确定要有一个更好的方法来实现我想要的。

在文本input字段中检测回车键

我正在尝试做一个function,如果input时按特定的input。 我在做什么错了? $(document).keyup(function (e) { if ($(".input1").is(":focus") && (e.keyCode == 13)) { // Do something } }); 有没有更好的方式做这个会说,如果input按下.input1做function?