Questions tagged «javascript»

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

9
重音字符的具体Javascript正则表达式(变音符号)
我已经研究了Stack Overflow(替换字符。eh,JavaScript如何不遵循有关RegExp的Unicode标准等),还没有真正找到问题的具体答案: How can JavaScript match for accented characters (those with diacritical marks)? 我正在强制UI中的字段匹配以下格式:(last_name, first_name 最后一个[逗号空间]首先),并且我想提供对变音符号的支持,但是显然在JavaScript中,它比其他语言/平台要难一些。 这是我的原始版本,直到我想添加变音符号支持: /^[a-zA-Z]+,\s[a-zA-Z]+$/ 目前,我正在讨论增加支持的三种方法之一,所有这些方法我都已经过测试和工作(至少在某种程度上,我真的不知道第二种方法的“范围”是什么)。他们来了: 明确列出我希望接受的所有带重音符号的字符(花边和过于复杂): var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ"; // Build the full regex var regex = "^[a-zA-Z" + accentedCharacters + "]+,\\s[a-zA-Z" + accentedCharacters + "]+$"; // Create a RegExp from the string version regexCompiled …


5
尝试使用获取和通过模式:无心
我可以http://catfacts-api.appspot.com/api/facts?number=99通过邮递员到达终点,然后返回JSON 另外,我正在使用create-react-app,并希望避免设置任何服务器配置。 在我的客户端代码中,我试图用来fetch做同样的事情,但是出现错误: 所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源' http:// localhost:3000 '。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。 所以我试图将一个对象传递到我的Fetch中,这将禁用CORS,如下所示: fetch('http://catfacts-api.appspot.com/api/facts?number=99', { mode: 'no-cors'}) .then(blob => blob.json()) .then(data => { console.table(data); return data; }) .catch(e => { console.log(e); return e; }); 有趣的是,我得到的错误实际上是此函数的语法错误。我不确定我的实际值fetch是否已损坏,因为当我删除{mode:'no-cors'}对象,并为其提供不同的URL时,它就可以正常工作。 我也尝试传递对象{ mode: 'opaque'},但这会从上面返回原始错误。 我相信我所需要做的就是禁用CORS。我想念什么?

2
什么时候使用JSX.Element vs ReactNode vs ReactElement?
我目前正在将React应用程序迁移到TypeScript。到目前为止,这很好用,但是我render分别对函数的返回类型和函数组件有问题。 到目前为止,我一直将其JSX.Element用作return类型,现在,如果组件决定不呈现任何内容(即return)null,null则此方法将不再起作用,因为没有有效的值JSX.Element。这是我旅程的开始,因为现在我在网上搜索并发现您应该使用ReactNode它,它还包括null可能发生的其他一些事情。这似乎是更好的选择。 但是,现在在创建功能组件时,TypeScript会抱怨ReactNode类型。再次,经过一些搜索,我发现对于功能组件,应该ReactElement改为使用。但是,如果我这样做了,兼容性问题就消失了,但是现在TypeScript再次抱怨null不是有效值。 因此,总而言之,我有三个问题: 之间有什么区别JSX.Element,ReactNode和ReactElement? 为什么render类组件的方法返回ReactNode,而函数组件返回ReactElement? 我该如何解决null呢?

1
Bluebird的util.toFastProperties函数如何使对象的属性“快速”?
在Bluebird的util.js文件中,它具有以下功能: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } 由于某种原因,在return函数之后有一条语句,我不确定为什么会在其中。 同样,这似乎是故意的,因为作者已对此发出了JSHint警告: “返回”后无法到达“评估”。(W027) 此功能的作用是什么?难道util.toFastProperties真的让一个对象的属性“快”? 我已经在Bluebird的GitHub存储库中搜索了源代码中的任何注释或问题列表中的解释,但找不到任何注释。

12
如何在庞大的数据集(angular.js)上提高ngRepeat的性能?
我有一个巨大的数据集,其中包含数千行,每个行有大约10个字段,大约2MB的数据。我需要在浏览器中显示它。最简单的方法(获取数据,将其放入$scope,ng-repeat=""完成工作)可以很好地工作,但是当它开始将节点插入DOM时,它会使浏览器冻结大约半分钟。我应该如何解决这个问题? 一种选择是将行逐行追加,$scope并等待ngRepeat完成向DOM中插入一个块后再移至下一个。但是AFAIK ngRepeat在完成“重复”操作时不会返回报告,因此会很丑陋。 另一种选择是将服务器上的数据拆分为页面,然后在多个请求中获取它们,但这更加丑陋。 我浏览了Angular文档以查找类似的内容ng-repeat="data in dataset" ng-repeat-steps="500",但未找到任何内容。我对Angular的方法还很陌生,所以有可能我完全没有注意这一点。最佳做法是什么?

9
在HTML5中使用target =“ _ blank”可以吗?
我记得在某处阅读过,在HTML5中不再可以target="_blank"在HTML5中使用,但现在找不到了。 可以继续使用target="_blank"吗? 我知道这通常被认为是一个坏主意,但这是通过最简单的方法为PDF之类的东西打开新窗口的方式,并且它也不需要您依赖JavaScript。
165 javascript  html  window 

20
将对象字符串转换为JSON
如何使用JavaScript(或jQuery)将描述对象的字符串转换为JSON字符串? 例如:转换这个(不是有效的JSON字符串): var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }" 到这个: str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }' eval()如果可能,我希望避免使用。
165 javascript  json  object 

11
querySelector和querySelectorAll与JavaScript中的getElementsByClassName和getElementById
我想知道querySelector和querySelectorAll反对 getElementsByClassName与之间到底有什么区别getElementById? 通过此链接,我可以收集到有关内容,querySelector可以编写document.querySelector(".myclass")以获取具有class的元素myclass和document.querySelector("#myid")获取具有ID的元素myid。但我已经可以做到这一点getElementsByClassName和getElementById。应该首选哪一个? 我也在XPages中工作,其中ID是用冒号动态生成的,看起来像这样view:_id1:inputText1。所以当我写的时候document.querySelector("#view:_id1:inputText1")它是行不通的。但是写document.getElementById("view:_id1:inputText1")作品。有什么想法吗?
165 javascript 

3
HTML脚本标签:类型或语言(或两者都省略)?
<script type="text/javascript"> /* ... */ </script> 与 <script language="Javascript"> /* ... */ </script> 应该使用哪个?为什么? 或者,第三种选择:忽略其中任何一个,例如jQuery API参考中的示例代码: <script src="http://code.jquery.com/jquery-latest.js"></script>
165 javascript  html 

8
如何使用lodash从列表中删除元素?
我有一个看起来像这样的对象: var obj = { "objectiveDetailId": 285, "objectiveId": 29, "number": 1, "text": "x", "subTopics": [{ "subTopicId": 1, "number": 1 }, { "subTopicId": 2, "number": 32 }, { "subTopicId": 3, "number": 22 }] } var stToDelete = 2; 我已经lodash在我的应用程序中安装了其他东西。有没有一种有效的方法可用于从对象中lodash删除条目:{"subTopicId":2, "number":32}obj 还是有一种JavaScript方法可以做到这一点?

4
toBe(true)与toBeTruthy()与toBeTrue()
之间有什么区别expect(something).toBe(true),expect(something).toBeTruthy()和expect(something).toBeTrue()? 请注意,这toBeTrue()是自定义匹配器,它是jasmine-matchers在其他有用且方便的匹配器(例如toHaveMethod()或)中引入的toBeArrayOfStrings()。 这个问题本来应该是通用的,但作为一个实际示例,我正在测试中显示的元素protractor。在这种情况下,我应该使用哪个匹配器? expect(elm.isDisplayed()).toBe(true); expect(elm.isDisplayed()).toBeTruthy(); expect(elm.isDisplayed()).toBeTrue();

11
用lodash将对象转换为数组
我怎样才能改变一个大object到array与lodash? var obj = { 22: {name:"John", id:22, friends:[5,31,55], works:{books:[], films:[],} 12: {name:"Ivan", id:12, friends:[2,44,12], works:{books:[], films:[],} } // transform to var arr = [{name:"John", id:22...},{name:"Ivan", id:12...}]

14
如何区分鼠标的“单击”和“拖动”
我使用的jQuery.click处理上拉斐尔图形的鼠标点击事件,同时,我需要处理鼠标drag事件,鼠标拖动由mousedown,mouseup并mousemove在拉斐尔。 很难区分click并且drag因为click还包含mousedown&mouseup,然后如何在Javascript中区分鼠标“ click”和鼠标“ drag”呢?

28
检测浏览器自动填充
您如何判断浏览器是否自动填充了文本框?尤其是用户名和密码框会自动填充页面加载。 我的第一个问题是页面加载序列何时发生?是在document.ready之前还是之后? 其次,我该如何使用逻辑找出这种情况是否发生?它不是我想阻止这种情况发生,只是挂接到事件中。最好是这样的: if (autoFilled == true) { } else { } 如果可能的话,我希望看到一个jsfiddle显示您的答案。 可能重复 浏览器密码自动填充的DOM事件? 浏览器自动填充和JavaScript触发的事件 -这两个问题并不能真正解释触发了什么事件,它们只是不断地重新检查文本框(不利于性能!)。

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.