Questions tagged «javascript»

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

6
打字稿-扩展错误类
我正在尝试在控制台中打印“ CustomError”类名称而不是“ Error”的自定义错误,但没有成功: class CustomError extends Error { constructor(message: string) { super(`Lorem "${message}" ipsum dolor.`); this.name = 'CustomError'; } } throw new CustomError('foo'); 输出为Uncaught Error: Lorem "foo" ipsum dolor。 我的期望:Uncaught CustomError: Lorem "foo" ipsum dolor。 我想知道是否可以仅使用TS来完成(不弄乱JS原型)?

16
将长整数转换为JavaScript中的缩写字符串,并有特殊的简短要求
在JavaScript中,如何编写将给定的[edit:正整数]数字(低于1000亿)转换为3个字母的缩写的函数-其中0-9和az / AZ被视为字母,但是点(因为在许多比例字体中是如此之小)不会,并且会因为字母限制而被忽略? 这个问题与此有用的线程有关,但是并不相同。例如,该函数将变为“ 123456-> 1.23k”(“ 123.5k”为5个字母),我正在寻找执行“ 123456-> 0.1m”(“ 0 [。] 1m”为3个字母)的东西)。例如,这将是希望函数的输出(左原始值,右理想返回值): 0 "0" 12 "12" 123 "123" 1234 "1.2k" 12345 "12k" 123456 "0.1m" 1234567 "1.2m" 12345678 "12m" 123456789 "0.1b" 1234567899 "1.2b" 12345678999 "12b" 谢谢! 更新:谢谢!进行以下修改时,答案是正确的并符合要求: function abbreviateNumber(value) { var newValue = value; if (value >= 1000) { var suffixes …

14
JS中日期的日期名称
我需要显示从第三方获得的给定日期(例如“ 05/23/2014”)的日期名称。 我尝试使用Date,但只得到日期。 取得日期名称的正确方法是什么?

10
Typescript:在类型“ {{A”:string;上未找到参数类型为” string”的索引签名;}
我有一些原始的javascript代码,需要输入字符串,将字符串拆分为字符,然后将这些字符与对象上的键匹配。 DNATranscriber = { "G":"C", "C": "G", "T": "A", "A": "U" } function toRna(sequence){ const sequenceArray = [...sequence]; const transcriptionArray = sequenceArray.map(character =>{ return this.DNATranscriber[character]; }); return transcriptionArray.join(""); } console.log(toRna("ACGTGGTCTTAA")); //Returns UGCACCAGAAUU 这按预期工作。我现在想将其转换为打字稿。 class Transcriptor { DNATranscriber = { G:"C", C: "G", T: "A", A: "U" } toRna(sequence: string) { …

8
检查localStorage是否可用
我知道有关检查的问题很多,localStorage但是如果有人在浏览器中手动将其关闭怎么办?这是我用来检查的代码: localStorage.setItem('mod', 'mod'); if (localStorage.getItem('mod') != null){ alert ('yes'); localStorage.removeItem('mod'); } else { alert ('no'); } 简单的功能,它的工作原理。但是,如果我进入Chrome设置并选择“不保存数据”选项(我不记得确切的名字),当我尝试运行此功能时,我什么也看不到Uncaught Error: SecurityError: DOM Exception 18。那么,有没有一种方法可以检查此人是否已将其完全关闭? 更新:这是我尝试的第二个功能,但仍然没有响应(警告)。 try { localStorage.setItem('name', 'Hello World!'); } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { alert('Quota exceeded!'); } }

7
如何使用RequireJS / AMD处理循环依赖关系?
在我的系统中,我在浏览器中加载了许多“类”,每个类在开发过程中都是一个单独的文件,并串联在一起进行生产。加载它们时,它们在全局对象(这里)上初始化一个属性G,如以下示例所示: var G = {}; G.Employee = function(name) { this.name = name; this.company = new G.Company(name + "'s own company"); }; G.Company = function(name) { this.name = name; this.employees = []; }; G.Company.prototype.addEmployee = function(name) { var employee = new G.Employee(name); this.employees.push(employee); employee.company = this; }; var john = new …

7
CoffeeScript中的函数声明
我注意到在CoffeeScript中,如果我使用以下方法定义函数: a = (c) -> c=1 我只能得到函数表达式: var a; a = function(c) { return c = 1; }; 但是,我个人经常使用函数声明,例如: function a(c) { return c = 1; } 我确实使用第一种形式,但是我想知道CoffeeScript中是否有一种方法来生成函数声明。如果没有这种方法,我想知道为什么CoffeeScript避免这样做。只要函数在范围的顶部声明,我认为JSLint不会大声声明错误。

1
为什么Safari页面破坏了iOS渲染?
我知道标题不是解释性的,而是故事:我正在开发一种浏览器游戏,主要使用JavaScript和Mapbox库。 一切在台式机,Android和iOS上都可以正常运行,但是在iOS上出现了一个问题:让游戏运行了几分钟后,手机突然开始出现图形伪像,并显示了大部分乱码。 这是手机开始时的一些照片: 我的问题是:代码中到底是什么原因引起的?内存泄漏?(LE:事实证明实际上是内存泄漏) 真正的问题是:为什么只通过浏览网页就可以几乎将整个手机变成砖块?Safari是否应该停止此操作,或者至少是iOS? 这不是此特定设备的问题,因为此问题可以在其他iPhone设备上重现。(我不太确定不同的iOS版本)。 如何重现错误: 打开游戏(在Safari内部)。 让它运行3-4分钟。 向下滑动通知中心,一切都会变得疯狂。 我添加了一个YouTube视频,该视频显示了如何重现错误(在iPhone 5C上)。 该问题似乎首先出现在通知中心中(如果您从顶部向下滑动菜单)。 就目前而言,此问题似乎仅在iPhone 5CiOS 9.2.1(13D15)上发生。它也发生在新的iOS 9.3版本上。 为了解决此问题,我必须: 关闭Safari应用程序(在其中打开了游戏选项卡)。 锁定手机。解锁后,一切恢复正常。 有关游戏本身的一些详细信息: 游戏会显示一个Mapbox地图及其上方的一些单位(标记)。 Node.js服务器以1节拍/秒的速度运行,并且在每个节拍之后,更新的游戏状态通过Socket.io发送到浏览器。 每次浏览器收到游戏状态时,都会相应地更新标记。 *如果您放大或缩小标记或选择标记,游戏可能还会更新标记。 EDIT2: 发现内存泄漏(按预期方式)。修复此泄漏(检查undefined_icon)之后,该问题不再发生。这意味着,沿着这些路线的某个地方会触发Safari / iOS错误。 对于每个群集的单位(在MarkerCluster中被隐藏并与其他单位分组),这就是每个刻度线的确切名称: var $icon = $(marker._icon); // marker._icon is undefined because of the clustering $icon.html(''); $icon.append($('<img class="markerIcon" src="' + options.iconUrl + '" …

5
用jQuery模拟按键
使用jQuery,当单击链接时,如何模拟(触发?)KeyPress?例如,当用户单击以下链接时: <a id="clickforspace" href="#">Click Here</a> 然后,通过单击链接,就好像他们按下了键盘上的“空格键”一样。 像这样,我假设: $("#clickforspace").click(function(e) { e.preventDefault(); //... Some type of code here to initiate "spacebar" // }); 关于如何实现这一目标的任何想法?

9
通过jQuery $ .ajax将JavaScript数组传递给PHP
我想在PHP中操作JavaScript数组。可以做这样的事情吗? $.ajax({ type: "POST", url: "tourFinderFunctions.php", data: "activitiesArray="+activities, success: function() { $("#lengthQuestion").fadeOut('slow'); } }); 活动是一维数组,例如: var activities = ['Location Zero', 'Location One', 'Location Two']; 尝试执行此脚本时无法完成...如何解决?
79 php  javascript  jquery  ajax 


3
Appcelerator Titanium Mobile如何工作?
我正在使用Titanium Mobile 1.0构建iPhone应用程序,我发现它可以编译为本地iPhone二进制文件。这是如何运作的?似乎要分析JavaScript代码并直接转换为Objective-C,而没有像280 North's Objective-J和Cappuccino这样的超集语言,这将需要很多繁重的工作。

2
为什么绑定比关闭慢?
先前的发帖人在Javascript中问Function.bind vs Closure:如何选择? 并部分地收到了这个答案,这似乎表明bind应该比闭包更快: 范围遍历意味着,当您要获取存在于另一个范围中的值(变量,对象)时,因此会增加额外的开销(代码执行起来会变慢)。 使用bind时,您正在使用现有范围调用函数,因此不会发生范围遍历。 两个jsperfs表示bind实际上比闭包要慢得多。 这是对以上内容的评论 而且,我决定编写自己的jsperf 那么,为什么结合速度这么慢(铬含量超过70%)? 由于速度不是更快,并且闭包可以达到相同的目的,是否应避免绑定?

8
更改JavaScript中confirm()的默认标题?
是否可以修改在JavaScript中打开Confirm()函数的消息框的标题? 我可以创建一个模式弹出框,但是我想做到这一点尽可能的简单。我想做这样的事情: confirm("This is the content of the message box", "Modified title"); Internet Explorer中的默认标题是“ Windows Internet Explorer”,而在Firefox中,默认标题是“ [JavaScript-program]”。不是很翔实。尽管从浏览器安全性的角度来看我可以理解,但您不应该这样做。
79 javascript 

4
检查点是否在多边形内
我想检查一个点是否位于特定的多边形内。多边形为: polygon= [ [-73.89632720118, 40.8515320489962], [-73.8964878416508, 40.8512476593594], [-73.8968799791431, 40.851375925454], [-73.8967188588015, 40.851660158514], [-73.89632720118, 40.8515320489962] ] 我要检查的要点是: 1 = [40.8515320489962,-73.89632720118] 2 = [40.8512476593594,-73.8964878416508] 3 = [40.851375925454,-73.8968799791431] 4 = [40.851660158514,-73.8967188588015] 5 = [40.8515320489962,-73.89632720118] 如何判断这些点中的每一个是否都位于该多边形内? 以下算法无效。我不知道为什么 pt[lat,long] function isPointInPoly(poly, pt){ for(var c = false, i = -1, l = poly.length, j = l - …

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.