草庐IT

灾害风险数字化核心逻辑梳理(22.6.23)

全部标签

javascript - 扩展逻辑或 ||空数组的语法

设f和g是两个函数。然后f()||g()首先计算f。如果f的返回值是falsy,它会计算g,并返回g的返回值。我喜欢简洁明了的语法,但它不包括f返回空数组[]的情况,我想将其视为“falsy”.[]是否有简洁的方法来代替传统的虚假值? 最佳答案 您可以编写一个函数将空数组转换为真正的虚假值,也许吧?functione(a){returnainstanceofArray?(a.length?a:false):a;}varresult=e(f())||g(); 关于javascript-扩展

javascript - 如何在javascript中验证数字和大写字母

我要验证密码:至少包含1个数字包含至少1个大写字母(大写)至少包含1个普通字母(小写)我用过这段代码functionvalidate(){vara=document.getElementById("pass").valuevarb=0varc=0vard=0;for(i=0;i让我感到困惑的一件事是,为什么如果我输入一个数字,它也算作大写字母??? 最佳答案 正则表达式更适合这个。考虑:varcontainsDigits=/[0-9]/.test(password)varcontainsUpper=/[A-Z]/.test(pass

javascript - 在 Google Chrome 中使用全屏 API 时,我无法在输入元素中使用字母数字键盘

在GoogleChrome中,当我使用FullScreenAPI并尝试在输入元素中输入字母数字内容时,它没有执行任何操作。它适用于Firefox。他们是GoogleChrome中这个问题的解决方法吗? 最佳答案 docElm.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);检查thislink链接内容:FullscreenwithkeyinputForsecurityreasons,mostkeyboardinputshavebeenblockedinthefullscre

javascript - 在javascript中调用一个数字的构造函数

我一直在努力研究javascript原型(prototype)继承,在阅读JohnResig的书“ProJavascriptTechniques”时,我正在尝试这样的事情:alert("me".constructor);//CorrectlyreturnStringalert(alert.constructor);//CorrectlyreturnFunction但是,alert(55.constructor);//IwasexpectingNumber,butitreturnserror"SyntaxError:identifierstartsimmediatelyafternume

javascript - 增加字符串中的最后一个数字

给定以下字符串:Backticks[0].Folders[0]我需要增加后面的数字。我不是Regexp替换专家,我试过this但它也选择了括号。href=href.replace(/\d+]$/gi,matchedNumber++);是否可以在一行中进行选择、增量和替换? 最佳答案 可以在一行中完成'Ace[0].Folders[0]'.replace(/\d+(?=]$)/,function(i){returnparseInt(i)+1;}) 关于javascript-增加字符串中的最

javascript - 类似风险(基于区域)的 map 和 HTML/JavaScript

假设我们有一个类似Risk的世界地图,它被划分为自定义形状的区域。如何让用户使用HTML5/JavaScript选择一个单独的区域?我假设Canvas2D是第一步,但接下来呢? 最佳答案 有无数伟大的图书馆。举几个例子:http://d3js.org/http://raphaeljs.com/http://paperjs.org/http://box2d-js.sourceforge.net/http://threejs.org/具体例子:http://bl.ocks.org/mbostock/2206590http://rapha

javascript - 允许逗号和空格分隔的数字列表的正则表达式

我想用javascript或jquery写一个正则表达式来允许逗号分隔的数字列表或空格分隔的数字或逗号后跟空格分隔的数字或上述任何一项的组合任何不是数字、空格或逗号的东西都必须被拒绝应该通过111,222,333111222333111,222,333111,222,333444555666,111,222,333,不应通过:111,222,3a3a1112223a等等等等我尝试了下面的代码,但当我输入时它们似乎有效3a作为一个数字,它通过了!!!如何?我无法理解我的代码如何让那封信通过。我想拒绝任何不是空格、逗号或数字的内容或者有没有更好的方法不用正则表达式来做到这一点?我在谷歌中查

Javascript:如何动态地将数字添加到变量名?

假设我必须遵循以下代码:varnumb=$(selector).length;现在我想基于此动态创建变量:vartemp+numb=...我怎样才能做到这一点?编辑:我知道你们中的一些人会告诉我使用数组。通常我会同意,但在我的例子中,var已经是一个数组,除了创建动态名称之外,我很少看到其他解决方案。 最佳答案 Javascript中的变量绑定(bind)到对象。对象接受.和[]符号。所以你可以这样做:varnum=3;window["foo"+num]="foobar";console.log(foo3);PS-不过,仅仅因为您可

javascript - Crypto-JS 中的解密给出数字十六进制输出而不是原始明文字符串

我使用Crypto-JSsourcesiteatGooglecode中的示例进行了简单测试:在页眉中:在Javascript函数中:varencrypted=CryptoJS.AES.encrypt("Message","SecretPassphrase");vardecrypted=CryptoJS.AES.decrypt(encrypted,"SecretPassphrase");alert('encrypted:'+encrypted+'decrypted:'+decrypted);但是输出是:encrypted:U2FsdGVkX19hsNqFBS5xcUoVBCu/hPHep

JavaScript:为什么 boolean 值的按位或返回数字而不是 boolean 值?

我发现boolean值的按位运算符在JavaScript中不返回boolean值是很困难的。我认为这一定是一个错误,但我在ECMAScript规范中进行了查找,果然,它说按位运算符返回数字,而不是boolean值。当您将它们用于boolean值时,它不会说出奇怪的结果。为什么这样做呢?我已经在其他语言中使用这种技术多年,所以我完全不明白为什么它在JavaScript中做了一些不同的事情。有任何想法吗?仅仅是因为没有人以这种方式使用过按位运算符(我除外),还是有技术原因?我无法想象检查类型并返回boolean值会很困难。供引用,以下代码:varfound=false;console.lo