Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

6
节点上的客户端:未捕获ReferenceError:需求未定义
因此,我正在使用node / express + jade组合编写应用程序。 我有client.js,已在客户端上加载。在该文件中,我有调用其他JavaScript文件中的函数的代码。我的尝试是使用 var m = require('./messages'); 为了加载内容messages.js(就像我在服务器端一样),然后再加载该文件的调用函数。但是,require未在客户端定义,并且引发形式的错误Uncaught ReferenceError: require is not defined。 这些其他JS文件也会在运行时在客户端上加载,因为我将链接放在网页的标题上。因此,客户端知道从这些其他文件导出的所有功能。 如何从打开服务器套接字messages.js的主client.js文件中的其他JS文件(如)调用这些函数?

13
获取匹配条件的数组内对象的索引
我有一个像这样的数组: [{prop1:"abc",prop2:"qwe"},{prop1:"bnmb",prop2:"yutu"},{prop1:"zxvz",prop2:"qwrq"},...] 如何在不迭代整个数组的情况下获取与条件匹配的对象的索引? 例如,给定prop2=="yutu",我想获取index 1。 我看到了,.indexOf()但认为它用于类似的简单数组["a1","a2",...]。我也检查了一下,$.grep()但这返回了对象,而不是索引。


11
如何使用回调衡量JavaScript代码的执行时间?
我有一段使用node.js解释器执行的JavaScript代码。 for(var i = 1; i < LIMIT; i++) { var user = { id: i, name: "MongoUser [" + i + "]" }; db.users.save(user, function(err, saved) { if(err || !saved) { console.log("Error"); } else { console.log("Saved"); } }); } 如何测量这些数据库插入操作所花费的时间?我可以计算这段代码前后的日期值之差,但是由于代码的异步特性,这将是不正确的。

27
如何在AngularJS中处理锚点哈希链接
你们中有谁知道如何在AngularJS中很好地处理锚点哈希链接吗? 我为简单的常见问题解答页面添加了以下标记 <a href="#faq-1">Question 1</a> <a href="#faq-2">Question 2</a> <a href="#faq-3">Question 3</a> <h3 id="faq-1">Question 1</h3> <h3 id="faq-2">Question 2</h3> <h3 id="fa1-3">Question 3</h3> 单击上面的任何链接时,AngularJS会拦截并将我路由到一个完全不同的页面(在我的情况下是404页,因为没有路由与这些链接匹配。) 我的第一个想法是创建一个匹配“ / faq /:chapter ” 的路由,并在相应的控制器中检查$routeParams.chapter匹配的元素之后,然后使用jQuery向下滚动到它。 但是随后AngularJS再次对我大喊大叫,无论如何仍只是滚动到页面顶部。 那么,这里有人在过去做过类似的事情并且知道解决方案吗? 编辑:切换到html5Mode应该可以解决我的问题,但是无论如何我们都必须支持IE8 +,所以我担心这不是一个可以接受的解决方案:/


10
jQuery的“ this”的第一个孩子
我试图将“ this”从单击的范围传递到jQuery函数,然后可以在该单击的元素的第一个孩子上执行jQuery。似乎无法正确处理... <p onclick="toggleSection($(this));"><span class="redClass"></span></p> Javascript: function toggleSection(element) { element.toggleClass("redClass"); } 如何引用element的:first-child?

8
$观看对象
我想监视字典中的更改,但是由于某种原因,未调用监视回调。 这是我使用的控制器: function MyController($scope) { $scope.form = { name: 'my name', surname: 'surname' } $scope.$watch('form', function(newVal, oldVal){ console.log('changed'); }); } 这是小提琴。 我希望每次更改名称或姓氏时都会触发$ watch回调,但是不会发生。 正确的方法是什么?

8
如何在CoffeeScript中定义全局变量?
在Coffeescript.org上: bawbag = (x, y) -> z = (x * y) bawbag(5, 10) 将编译为: var bawbag; bawbag = function(x, y) { var z; return (z = (x * y)); }; bawbag(5, 10); 通过在node.js下的coffee-script进行编译,可以这样包装: (function() { var bawbag; bawbag = function(x, y) { var z; return (z = (x * y)); …

12
如何将对象添加到数组
如何将对象添加到数组(使用javascript或jquery)?例如,此代码有什么问题? function(){ var a = new array(); var b = new object(); a[0]=b; } 我想使用此代码在function1数组中保存许多对象,并调用function2在数组中使用该对象。 如何将对象保存在数组中? 如何将对象放入数组并将其保存到变量?

16
使用HTML5 / JavaScript生成并保存文件
我最近一直在摆弄WebGL,并让Collada阅读器工作。问题是它相当慢(Collada是一种非常冗长的格式),因此我将开始将文件转换为更易于使用的格式(可能是JSON)。我已经有了使用JavaScript解析文件的代码,因此我也可以将其用作导出器!问题正在保存。 现在,我知道我可以解析文件,将结果发送到服务器,并让浏览器从服务器请求文件下载作为下载。但是实际上,服务器与该特定过程无关,那么为什么要参与其中呢?我已经在内存中保存了所需文件的内容。有什么办法可以使用户使用纯JavaScript进行下载?(我对此表示怀疑,但也可能会问...) 需要明确的是:我不会在用户不知情的情况下尝试访问文件系统!用户将提供一个文件(可能通过拖放操作),脚本将转换文件在内存中的位置,并提示用户下载结果。就浏览器而言,所有这些都应该是“安全”的活动。 [编辑]:我没有提前提到它,所以回答“ Flash”的海报是足够有效的,但是我正在做的部分工作是试图强调使用纯HTML5可以完成的工作...因此Flash是就我而言。(尽管对于任何使用“真实” Web应用程序的人来说,这都是一个非常有效的答案。)在这种情况下,除非我不想让服务器参与其中,否则看起来我很不走运。不管怎么说,还是要谢谢你!

6
使用Express从NodeJS Server下载文件
如何将服务器中的文件下载到访问nodeJS服务器中页面的计算机上? 我正在使用ExpressJS,并且一直在尝试这样做: app.get('/download', function(req, res){ var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary'); res.setHeader('Content-Length', file.length); res.write(file, 'binary'); res.end(); }); 但是我无法获取文件名和文件类型(或扩展名)。有人可以帮我吗?

18
JavaScript / HTML5中的声音效果
我正在使用HTML5对游戏进行编程;我现在遇到的障碍是如何播放音效。 具体要求数量很少: 播放和混合多种声音, 多次播放同一样本,可能会重复播放, 随时中断样本播放, 最好播放包含(低质量)原始PCM的WAV文件,但是我当然可以转换它们。 我的第一种方法是使用HTML5 <audio>元素并定义页面中的所有声音效果。Firefox只是播放桃花心的WAV文件,但#play多次调用实际上并不会多次播放示例。根据我对HTML5规范的理解,该<audio>元素还跟踪播放状态,因此可以解释原因。 我的直接想法是克隆音频元素,因此我创建了以下微型JavaScript库来为我做这件事(取决于jQuery): var Snd = { init: function() { $("audio").each(function() { var src = this.getAttribute('src'); if (src.substring(0, 4) !== "snd/") { return; } // Cut out the basename (strip directory and extension) var name = src.substring(4, src.length - 4); // Create the helper …

17
如果我使用const,为什么JSHint会发出警告?
这是我在使用const时遇到的错误: <error line="2" column="1" severity="warning" message="'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" /> 我的代码如下所示: const Suites = { Spade: 1, Heart: 2, Diamond: 3, Club: 4 }; 只有JSHint每次都警告我,代码才能正常工作。

27
如何获得所选单选按钮的价值?
我想从一组单选按钮中获取选定的值。 这是我的HTML: <div id="rates"> <input type="radio" id="r1" name="rate" value="Fixed Rate"> Fixed Rate <input type="radio" id="r2" name="rate" value="Variable Rate"> Variable Rate <input type="radio" id="r3" name="rate" value="Multi Rate" checked="checked"> Multi Rate </div> 这是我的.js: var rates = document.getElementById('rates').value; var rate_value; if(rates =='Fixed Rate'){ rate_value = document.getElementById('r1').value; }else if(rates =='Variable Rate'){ rate_value = document.getElementById('r2').value; …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.