草庐IT

must_be_array_or_string

全部标签

javascript - NodeJS - Javascript 从 String 创建对象实例

在我的Node.Js应用程序(服务器端)中,我必须创建一个对象实例(这是一个类,所以使用newMyClass())但是MyClass是一个string.可以从字符串创建对象实例吗?我已经看到在浏览器端我可以使用window,但在这里我在服务器端...我将需要这个,因为我现在将在运行时类的名称,所以我不能在“代码”中实例化这个对象。此外,我可以有几个类需要以这种方式创建。简而言之,我有一个明确显示此类的配置文件,我需要将此字符串转换为真正的JavaScript对象。 最佳答案 在nodejs中,window被global“替换”了。因

javascript - 好的编码 : modularized js files or one big js file?

只是想问问那里的专家。我知道CSS文件最好合并而不是分成无数个文件。js的工作方式一样吗?以下是我目前知道的几点(或相信......所以如果我的信念/理解有误,你可以指出一些事情):我知道js更好地模块化以便于维护将所有文件合并为一个文件是“有风险的”,因为有些功能您只想放在某个页面上。我知道并发下载会降低页面速度,因此最好只下载1个大文件。合并到1个文件中可能会导致变量范围问题?我知道有javascript编译器alabundle-fu或YUI,但这是所有问题的答案吗?不同的开发文件然后只有1个文件的js? 最佳答案 您不需要为开

javascript - RegExp 和 String 组合导致 Chrome 崩溃

我有以下RegExp来验证电子邮件地址:^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$在基本电子邮件上运行它效果很好:/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/.test('dave@the-taylors.org');但是在长字符串上运行它会使Chrome崩溃:/^[A-Za-z0-9](([_\.\

javascript - 针对 NodeList 调用 Array.prototype.slice 的目的是什么?

这个问题在这里已经有了答案:Explanationof[].slice.callinjavascript?(9个回答)Howdoes`Array.prototype.slice.call`work?(14个答案)Whydoesn'tnodelisthaveforEach?(10个答案)关闭3年前。我在查找如何迭代NodeLists时遇到了以下代码。varnodesArray=Array.prototype.slice.call(nodeList);nodesArray.forEach(function(node){//...})针对NodeList调用Array.prototype.s

javascript - 我可以读取 :before {content :'...' } string via JavaScript (getComputedStyle), 但此字符串的行为很奇怪

我有以下设置。我创建了一个,通过伪选择器:before附加术语“before”并使用getComputedStyle读取该值.这行得通,我成功地得到了术语(在我的例子中是“before”),它是“string”类型的。(查看控制台输出。)该字符串与给定字符串的比较返回预期的true,但仅限于Safari,CodePen在这里,在“运行代码片段”-环境中!它不适用于Chrome、Firefox或IE。那里的匹配比较返回false.这可能是什么原因?为什么这个简单的字符串比较不起作用?三个相关的代码片段如下所示:varcontent=window.getComputedStyle(docu

javascript - Select2.js v4.0 : how set the default selected value with a local array data source?

通过使用select2.jsv4插件,当我使用本地数组数据作为源时,如何设置默认选择值?以这段代码为例vardata_names=[{id:0,text:"Henri",},{id:1,text:"John",},{id:2,text:"Victor",},{id:3,text:"Marie",}];$('select').select2({data:data_names,});如何设置id3为默认选中值? 最佳答案 $('.select').select2({data:data_names,}).select2("val",3);

javascript - 在 Javascript 中对具有单个元素的数组调用 Array.reduce

在空数组上调用reduce会抛出TypeError,这是完全可以理解的,有助于捕获错误。但是当我在一个内部只有一个项目的数组上调用它时,这种行为让我感到困惑:vararr=["a"];arr.reduce(function(a,b){return[a,b]});//returns"a"我知道reduce不适用于这样的数组,但我发现只返回元素而不调用回调或抛出错误至少很奇怪。此外,MDN文档指出回调是“对数组中的每个值执行的函数,采用四个参数:”。有人可以解释这种行为背后的原因吗? 最佳答案 回调应该是一个“二元函数”(即接受两个参数

JavaScript - 检查数组中的所有值是否都不是 Null - Array/Each/

使用JavaScript/JQuery开发TicTacToe。初级程序员,但无法在网上找到它。目前我有一个名为“game_board”的普通数组。该数组有9个值,它们是0-8。它不是“哈希”。我正在研究一个循环或类似的循环或类似的检查数组中的所有值是否不为空。如果“game_board”数组中的所有值都不是Null,则代码应执行[Alert("Draw")]等操作。如果数组中的任何值具有值,则该函数不应执行任何操作。这是我的代码尝试。任何想法都会很棒。我的尝试是如果循环找到空值就会中断的理论。如果它没有找到空值,它会转到ELSE并报告“平局”//checkdrawfor(varp=0;

javascript - 类型错误 : Cannot create property 'FOO' on string 'BAR'

我们应用程序中的错误(现已修复)代码触发了此错误:TypeError:Cannotcreateproperty'FOO'onstring'BAR'但是Javascript完全允许在字符串变量上设置自由属性。我刚刚在Chrome控制台中尝试过:'BAR'.FOO='hello''BAR'['FOO']='hello'而且效果很好。那么JS解释器在什么情况下会触发这个错误?原始代码是用Typescript编写的,然后用Babel转译。这是一个运行时错误。我认为这与typescript无关,因为其他人报告了类似的运行时错误,例如。here和here 最佳答案

javascript - 谁更快 : PEG or GLR?

我正在尝试为C/ALprogramminglanguage创建某种lint工具.所以基本上我需要对源代码进行语法和词法分析。我计划从头开始编写解析器,但后来发现有很多工具可以帮助自动生成这些解析器。我需要性能,因为在一个片段中检查20兆字节的代码是正常情况,我需要该工具可以通过自定义规则进行扩展。所以我决定使用JavaScript。到目前为止,我已经找到了两个可以使用的生成器Jison和PEG.js.它们中的哪一个能给我更多的解析性能?也许不是比较库,而是算法?哪个更适合我的需求(解析通用编程语言)?更新:我发现了类似的问答:Packratparsingvs.LALRparsingPe