草庐IT

安全计算系统

全部标签

javascript - 为什么一些非空字符串在 JavaScript 中的计算结果为 "false"?

根据thistableintheECMAScriptstandard,长度为0的字符串值应评估为bool值false。那么,这些语句如何评估为true?"\t"==false""==false"\n"==false""==false所有这些字符串的长度都大于0。例如:虽然我知道"0"的计算结果为false因为它可以被强制转换为数字0,但我无法解释原因这些字符串是错误的。怎么回事?(显然我可以使用===进行严格比较,但在这种情况下,在我的代码中,我需要松散比较,但是我并不期望非空字符串是被认为是错误的。) 最佳答案 您正在使用松散比较

javascript - Javascript 的 toUpperCase() 语言安全吗?

Javascript的字符串原型(prototype)方法toUpperCase()是否会在每种支持UTF-8的语言/字符集中提供自然预期的结果?我试过简体中文、韩语、泰米尔语、日语和西里尔语,到目前为止结果似乎还算合理。我可以相信该方法是语言安全的吗?示例:"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス".toUpperCase()>"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス"编辑:正如@Quentin指出的那样,还有一个String.prototype.toLocaleUpper

javascript - 与 boolean 值相乘是否安全(并且更好)?

我有一段代码有很多if和elseif。我现在只是想,在乘法中,true的计算结果为1,false的计算结果为0。用:if(!this._isFetched('studentInfoFetched')){tempAddedTime+=1;estimatedTimePerStudent+=0.04+0.2;}if(formInputValues.student_expiration){tempAddedTime+=(!this._isFetched('studentExpirationFetched'))?14:0;estimatedTimePerStudent+=1;}对于:tempAd

javascript - 使用 JavaScript 检测客户端系统是笔记本电脑还是台式机

我想在我的网页如果是笔记本电脑的小部件中显示客户系统的电池状态和时钟。如果是台式机,我不想显示电池状态。时钟小部件工作正常。我还可以使用navigator.getBattery()获取电池详细信息。但如果是桌面,我不想显示小部件。那么,如何使用JavaScript检测客户端是使用Desktop还是Laptop?下面是navigator的内容,但没有详细信息来检测它是笔记本电脑还是台式机。console.log(navigator);{"vendorSub":"","productSub":"20030107","vendor":"GoogleInc.","maxTouchPoints"

javascript - 星级评分系统点击保存值(value)

我正在尝试制作一个星级评分系统,我有这段代码,我想对其进行一些更改,在用户单击星星后,它会显示一个警报,其中包含有多少颗星星并重置颜色,什么我想要的是在用户点击后保留颜色填充,并用星空下的div替换警报,这是我的代码:$(function(){$("div.star-rating>s,div.star-rating-rtl>s").on("click",function(e){varnumStars=$(e.target).parentsUntil("div").length+1;alert(numStars+(numStars==1?"star":"stars!"));});});.

javascript - Javascript 是否使用本地计算机时间?

这可能是个愚蠢的问题,我99%确定它确实如此,但我需要确定...JS是否使用本地计算机的时间? 最佳答案 是的,它确实使用计算机的本地时间。要测试,请更改您的计算机时间,它会反射(reflect)在newDate中 关于javascript-Javascript是否使用本地计算机时间?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4234536/

javascript - 将小数延迟传递给 setInterval 或 setTimeout 是否安全?

我知道由于浏览器计时器不准确,目前的差异可以忽略不计,但为了了解其他情况:是否有支持setInterval和setTimeout的浏览器,但需要将整数值作为延迟传递给它们?或者,换句话说,是这样的:setInterval(animate,50/3);像这样跨浏览器兼容?setInterval(animate,17); 最佳答案 这是绝对安全的。(正如RobG指出的那样,我没有提供对DOM/JS桥接规则本身的引用,他敦促大家谨慎。FWIW,我相信——但没有提及最终声明——ToInteger是接口(interface)桥的一部分。这是一

JavaScript(初级)Kata - 使用函数构建计算器

我正在解决以下问题:编写一个程序,将单词“sum”、“product”、“mean”或“sqrt”中的一个作为第一个参数,进一步的参数是一系列数字。该程序将适当的功能应用于该系列。我已经解决了它(下面的代码),但它体积庞大且效率低下。我希望重新编写它,使其具有调用其他函数(即函数sum、函数product)的单个函数calculator。我的问题:我如何编写函数sum、product、sqrt等,以便在函数计算器调用时,它们正确地接受计算器的参数并计算数学。下面是庞大的代码:functioncalculator(){varsumTotal=0;varproductTotal=1;var

javascript - CSS Transform Math - 计算倾斜引起的div的高度

我很难弄清楚如何计算由倾斜引起的div容器的额外高度。我正在屏蔽容器内的图像并使用plugin调整它的大小.容器不会始终具有相同的高度和宽度,因此使用固定尺寸是行不通的。请看我的demo.http://jsfiddle.net/RyU9W/6/HTMLCSS#profiles{margin-top:300px;transform:skewY(-30deg);-ms-transform:skewY(-30deg);/*IE9*/-webkit-transform:skewY(-30deg);/*SafariandChrome*/}.profile{cursor:pointer;float

javascript - 汇总对象数组并计算每个唯一对象名称的平均值

我有一个这样的数组:vararray=[{name:"a",value:1},{name:"a",value:2},{name:"a",value:3},{name:"b",value:0},{name:"b",value:1}];我需要这样的数组:varnewarray=[{name:"a",value:2},{name:"b",value:0.5}]新数组将每个唯一名称作为具有平均值的对象。有没有简单的方法可以做到这一点? 最佳答案 您必须遍历数组,计算每个对象的总和和计数。这是一个快速实现:functionaverage(ar