1.防止浮点数溢出 二级制的浮点数不能正确地处理十进制的小数,因此 0.1+0.2不等于0.3 num = 0.1+0.2; //0.30000000000000004 这是JavaScript中经常报告的Bug,并且这是遵循二进制浮点数算术标准(IEEE 754)而导致的结果.这个标准适合很多应用,但它违背了数字基本常识.幸运的是,浮点数中的证书运算是精确的,所以小鼠表现出来的问题可以通过指定精度来避免.例如:针对上面的相加可以这样进行, 这种处理经常在货币计算中用到 a = (1+2)/10…
关于堆栈的溢出问题,在Javascript日常开发中很常见,Google了下,相关问题还是比较多的.本文旨在描述如何解决此类问题. 首先看一个实例(当然你可以使用更容易的方式实现,这里我们仅探讨递归): function isEven (num) { if (num === 0) { return true; } if (num === 1) { return false; } return isEven(Math.abs(num) - 2); } //Outputs: true console…
1.之前在度娘那找了一下关于javascript中可处理的浮点数的最高精度的问题,但找了好久也找不到,于是自己 小小的研究了一下,之前以为是17,后来测到18,再后来又测到19,经过一系列的改写,得到下面的相对完善的检测方案: <script> //返回数字数组中的最大值 function arrMax(arr) { return Math.max.apply({}, arr); } //10万个随机小数中的最大精度 function maxDec() { var arr = []; var…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第三篇]SAP HANA XS的JavaScript安全事项   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 我们都知道web程序都有潜在的安全隐患问题,那么SAP HANA XS的JavaScript也是一样,使用服务器端JavaScript编写应用程序代码,也有潜在的外部攻击(和风险). 下…
num = 0.1+0.2; //0.30000000000000004 a = (1+2)/10; //0.3(浮点数中的整数运算时精确的)…
一.offsetWidth:元素的宽度,包括边框,内容,内边距. 二.offsetHeight:元素的高度,包括边框,内容,内边距. 三.offsetLeft:元素的X坐标(相对于最近已定位的祖先元素,如果没有则是窗口). 四.offsetTop:元素的Y坐标(相对于最近已定位的祖先元素,如果没有则是窗口). 五.clientWidth:元素的宽度,不包括边框,只包括内容和内边距. 六.clientHeight:元素的高度,不包含边框,只包括内容和内边距. 七.clientLeft:元素内边距的…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用JavaScript数据交互详解   前言部分 我们都知道web程序都有潜在的安全隐患问题,那么SAP HANA XS的JavaScript也是一样,使用服务器端JavaScript编写应用程序代码,也有潜在的外部攻击(和风险). 注意事项 下面列出几点注意事项(欢迎阅读者补充说明): 1.SSL/HTT…
1 引言 变量作用域 首先我们先铺垫一个知识点--变量作用域: 变量根据作用域的不同分为两种:全局变量和局部变量. 函数内部可以使用全局变量. 函数外部不可以使用局部变量. 当函数执行完毕,本作用域内的局部变量会销毁. 如果我想在函数外部引用这个函数的局部变量呢? 2 闭包 闭包是什么? 闭包(closure)指有权访问另一个函数作用域中变量的函数. ----- JavaScript 高级程序设计 闭包有什么用? 1延伸变量作用域范围,读取函数内部的变量 2让这些变量的值始终保持在内存中 简单理…
1.submit input 标签的 type里的submit是提交表单的按钮 提交时应注意 为 标签加上 “name=""”字段和form标签,才能达到想要的效果  2.正则表达式 在写一个正则表达式用于replace时,正则表达式书写不用加引号,如 reg=\a\g 就行了 3.Json的解析: 分为两种方式: (1) ({key:value,k2:v2}) 这种方式eval出来的,在遍历json的时候,item就是key (2) [{key:value},{k2:v2}] 这种方…
chrome禁用缓存:调试javascript   chrome对js和图片的缓存,导致调试的程序不是最新的,有时F5刷新了都没用. 可以禁用缓存: 先按F12,再按F1, 勾选 Disable cache (while DevTools is open)…