在正常的数学逻辑思维中,0.2+0.4===0.6这个逻辑是正确的,但是在JavaScript中0.2+0.4!==0.6这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对 JavaScript的数值的理解程度. 在JavaScript中的二进制的浮点数0.2和0.6并不是十分精确,在他们相加的结果并非正好等于0.3,而是一个比较接近的数字 0.6000000000000001,所以条件判断结果为 false. 那么应该怎样来解决0.2+0.4等于0.3呢? 最好的方法是设置一个误差范…
console.log(0.1+0.2===0.3)// true or false?? 在正常的数学逻辑思维中,0.1+0.2=0.3这个逻辑是正确的,但是在JavaScript中0.1+0.2!==0.3,这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对 JavaScript的数值的理解程度. 在JavaScript中的二进制的浮点数0.1和0.2并不是十分精确,在他们相加的结果并非正好等于0.3,而是一个比较接近的数字 0.30000000000000004 ,所以条件判断结果…
为什么js中0.1+0.2不等于0.3,怎样处理使之相等? console.log(0.1+0.2===0.3)// true or false?? 在正常的数学逻辑思维中,0.1+0.2=0.3这个逻辑是正确的,但是在JavaScript中0.1+0.2!==0.3,这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对JavaScript的数值的理解程度. 在JavaScript中的二进制的浮点数0.1和0.2并不是十分精确,在他们相加的结果并非正好等于0.3,而是一个比较接近的数字…
Openstack中有时候虚拟机启动不正常,这时可以通过查看虚拟机console log能得到一些有用的信息. 有这些方法可以查看或获取虚拟机console log: 1)openstack控制台图形界面(horizon): 进入虚拟机(Instance)列表界面,选中相应虚拟机,点击Log页面即可:或点击右侧的“View Full Log”查看完整的log. 2)在虚拟机所在的compute节点上找到log文件: 通过virsh dumpxml指令,找到如下关键段: <console type…
Node.js 當中的 console.log,除了基本字串的輸出之外,還可以利用 %s.%d.%j 格式化的輸出,就讓我們來看些例子吧! 一.範例1 (字串輸出):console.js console.log('%s', 'This is String.'); console.log('%s %s %s', 'This', 'is', 'String.'); console.log('%s', 'This', 'is', 'String.'); console.log('%s:%s', 'Th…
  JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力..   小森执行一个函数  没有全局变量 写一个从10到0的倒计时   用console.log打印  不可以用 setInterval   小白..额,可以多次调用setTimeout()吗     某个被打败的神Function fn(a){console.log(a--);if(a>=0)   Settimeo…
for(var i=0;i<=3;i++){ setTimeout(function() {  console.log(i)  }, 10);} 答案:打印4次4 这道题涉及了异步.作用域.闭包 settimeout是异步执行,10ms后往任务队列里面添加一个任务,只有主线上的全部执行完,才会执行任务队列里的任务,当主线执行完成后,i是4,所以此时再去执行任务队列里的任务时,i全部是4了.对于打印4次是:  每一次for循环的时候,settimeout都执行一次,但是里面的函数没有被执行,而是被…
看面试题时,发现了一道较为经典的面试题,代码如下 for(var i=1;i<=3;i++){ setTimeout(function(){ console.log(i); },0); }; //答案:4 4 4. 很多初学者,可能会以为答案会是:1 2 3,但仔细研究,你会发现这道题涉及了异步.作用域.闭包.由于网上有很多类似的内容,故我这里就不再赘述,附上链接如下: https://www.cnblogs.com/destinyruru/p/5823760.html https://www.…
目前负责的公众号又迭代了一个版本,之前打生产包,配置总是和测试包搞混,所以使用了vue-cli3.0的环境变量来控制配置. 但是又发现了一个新问题,写代码的过程中写了很多console.log 来调试代码,但是生产包里显示这些调试信息又有些不合适,所以想在打生产包的时候去除代码中的console.log. 网络上一顿搜索之后,使用了uglifyjs-webpack-plugin来进行压缩优化,但是遇到了Unexpected token: name ***的报错,又是一番查询之后,有说这个插件不支…
vue-cli2.0中的方法 1.安装插件 npm install uglifyjs-webpack-plugin --save-dev 2.修改webpack.prod.conf.js配置文件 const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.Defin…
for(var i=0;i<10;i++){ setTimeout(function(){ console.log(i)//10个10 },1000) } 遇到这种问题 如何用解决呢 for(var i=0;i<10;i++){ ((j)=>{ setTimeout(function(){ console.log(j)//1-10 },1000) })(i) } 原理是 声明了10个自执行函数,保存当时的值到内部…
C#6.0新特性 Auto-Property enhancements(自动属性增强) Read-only auto-properties (真正的只读属性) Auto-Property Initializers (自动属性的初始化) Expression-bodied function members (表达式方法体) using static (导入类静态方法) Null-conditional operators (一元空值检查操作符?.) String Interpolation (字符…
vue生命周期 1. vue1.0版本与vue2.0版本生命周期的不同 vue1.0版本生命周期图示 图1  vue1.0版本生命周期 vue1.0版本的生命周期: init 实例创建之前 created  实例已经创建 beforeCompile  编辑之前 compiled   编辑之后 ready √ -> mounted  插入到文档 beforeDestroy  销毁之前 destroyed   销毁之后 注意:     在vue1.0版本常用的是生命周期 中的 ready 2. vu…
0.1+0.2不等于0.3?是不是有点颠覆你的认知,但是,在js中,是真实存在的! console.log(0.1+0.2); // 0.30000000000000004 其实这都是因为浮点数运算的精度问题. 简单来说,因为计算机只认识二进制,在进行运算时,需要将其他进制的数值转换成二进制,然后再进行计算. 由于浮点数用二进制表达时是无穷的: // 将0.1转换成二进制 console.log(0.1.toString(2)); // 0.000110011001100110011001100…
RFC 6749 - The OAuth 2.0 Authorization Framework https://tools.ietf.org/html/rfc6749 The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestr…
null在关系运算中的坑 & 关系运算符的隐式转换问题 注意: 比较运算符 和 相等运算符 的 ECMAscript 语法实现不同. 比较运算符 和 相等运算符 对数据进行了隐式转换, 相当于调用了 Number(), '' false 转换为 0: true 转换为 1. console.log('' >= 5); // false console.log('' < 5); // true 相当于 0 < 5 console.log('' == 0); // true cons…
Vue 2.0 的响应式是基于Object.defineProperty实现的 当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter.Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因.(引用:https://cn…
壹 ❀ 引 0.1+0.2不等于0.3,即便你不知道原理,但也应该听闻过这个问题,包括博主本人也曾在面试中被问到过此问题.很遗憾,当时只知道一句精度丢失,但是什么原因造成的精度丢失却不太清楚.而我在查阅资料的过程中发现,大部分文章都是假定了你有一定计算机基础,对于非此专业的人来说,可能文章读起来就显得晦涩难懂.那么本文就会站在此问题的角度,从二进制计算说起说起,用基础数学通俗易懂的去解释究竟是什么原因造成了计算机中浮点数计算的精度丢失,本文开始. 贰 ❀ 从二进制说起 与我们人的计算思维不同,计…
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_112 其实微信支付有很多种形式,刷脸,扫码,APP支付,小程序支付等,这边只说明小程序支付的实现,不过原理上都大同小异. 首先,需要注册微信公众号平台https://mp.weixin.qq.com,并且开通微信支付功能,随后将你的小程序关联一个微信商户:pay.weixin.qq.com,这一系列申请下来之后,你手中需要有微信小程序appid,微信小程序秘钥,商户号,以及商户秘钥,这四个关键的支付配置变量. 然后大体流程分两…
最近工作需要,开始研究ES,当前ES的最新版本为5.0.1,从之前的2.x的版本号一下升级到5.x,主要是之前Elastic的产品版本号因为收购等原因很乱,ES 2.X版本的和Kibana 4.x版本的配套使用,让人感觉不爽.这下一步到位,所有的产品系列版本号都从5.0开始,这样,5.0的ES就和5.0的Kibana一致了. 本篇会记录ES5.0.1 + Kibana 5.0.1 + ik 5.0.1的安装. 首先,去Elastic官网 https://www.elastic.co/downlo…
Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8. 演示环境: 两个节点:rac1.rac2 GI的PSU升级包(11.2.0.4.8):p21352635_112040_Linux-x86-64.zip 解压缩后的目录:/setup/oracleUp/21523375 grid的$GRID_HOME:/u01/app/11.2.0/grid o…
Microsoft .NET Framework 3.0 .NET Framework 3.0 中增加了不少新功能,例如: Windows Workflow Foundation (WF) Windows Communication Foundation (WCF) Windows Presentation Foundation (WPF) Windows CardSpace Microsoft .NET Framework 3.5 .NET Framework 3.5 在3.0新增功能的基础上…
[本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2Sql&EF:    3 3,微型ORM崛起    4 二.一决高下    4 2.1,ORM没有DataSet快?    4 2.1.1,ORM生成SQL的质量问题    4 2.1.2,DataReader没有DataSet快?    5 2,ORM的三个火枪手    6 2.1,委托+缓存   …
委托的演变 委托(C#1.0) 委托可看作是只定义了一个方法的接口,将委托的实例看作实现了这个接口的一个对象. 委托的执行要满足4个条件: 1. 声明委托类型                              :  delegate void StringProcessor(string input); 2. 必须有一个方法包含了要执行的代码  :  void PrintString(string x){ ……} 3. 创建一个委托实例                        :…
上一篇文章,我们已经安装了,ucenter1.6.0,所以此文介绍独立安装ucenter1.6.0与ucenter home2.0的整合安装. 1,)从官网下载UCenter_Home_2.0_SC_UTF8.zip,解压后把upload拷贝到apache的发布目录www下,修改upload文件名称为ucenterhome; 2,)修改虚拟目录配置:D:\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf中添加配置: <Virtua…
paip.jdk1.4 1.5(5.0)  1.6(6.0) 7.0   8.0特点比较与不同 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax jdk1.4 ------------ 1.引入的一个特性之一就是断言(assert),为程序的调试提供了强有力的支持 2.增加XML处理 3.新的I/O (NIO) APIs在缓冲处理,字符集支持,,文件I/O及可升级的网络I/O领域提…
Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site B.Site C. 当前DG环境示意图: 需求:升级至11.2.0.4 升级思路: 主库暂停归档传输:备库安装新版本软件,备库启动到mount:主库安装软件,主库升级数据库,主库启用归档传输. 注意: 11g新版本软件安装到一个新目录下,注意copy之前的spfile.密码文件.network file…
1,最近看了不少的面试题,不管是百度.网易.阿里的面试题,都会问到EventBus源码和RxJava源码,而自己只是在项目中使用过,却没有去用心的了解它底层是怎么实现的,所以今天就和大家一起来学习学习 2,简介EventBus2.x EventBus是用来干什么的? EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Android各个组件之间传递消息,替代Intent,Handler,BroadCast在Fragment,Activity,Service,线…
1.环境 DB:两节点RAC 11.2.0.4.0升级至11.2.0.4.6 OS:AIX 7.1(205G内存 16C) 2.节点1.节点2(未建库) 2.1.patch 20420937居然用了3个小时才跑完 DB1:/ #/oracle/app/11.2.0/grid/OPatch/opatch auto /oracle/patch/20485808 -ocmrf /oracle/app/11.2.0/grid/OPatch/ocm/ocm.rsp Executing /oracle/ap…
1,最近看了不少的面试题,不管是百度.网易.阿里的面试题,都会问到EventBus源码和RxJava源码,而自己只是在项目中使用过,却没有去用心的了解它底层是怎么实现的,所以今天就和大家一起来学习学习 2,简介EventBus2.x EventBus是用来干什么的? EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Android各个组件之间传递消息,替代Intent,Handler,BroadCast在Fragment,Activity,Service,线…