首页
网站首页
公司简介
资讯中心
推荐内容
返回顶部
js计算精度问题小结_javascript技巧_脚本之家,你必须知道的Javascript知识点之新葡亰下载
发布时间:2019-12-28 20:44
浏览次数:

复制代码 代码如下:var intervalBody = function(){ console.log;}var startInterval = function(){ setInterval;}var timeoutBody = function(){ console.log;}var startTimeout = function(){ setTimeout;}var sleep = function{ var current = new Date().setSeconds.getSeconds; while{ }}startInterval;sleep;console.log;sleep;console.log;执行结果

很多人都知道this指针,这篇文章的主要目的是为了培训我们公司的新人。默认的this指针指向规则1this指针默认指向方法调用时为其指定的对象,如:obj.fun(),fun方法体中的this指针指向obj。复制代码 代码如下:var user = { name: '段光伟' };user.getName = function(){ return this.name; };user.getName(); //返回‘段光伟'复制代码 代码如下:var user = { name: '段光伟' };user.getName = function(){ return this.name; };user.getName(); //返回‘段光伟'window.name = '李妞妞';window.getName = user.getNamewindow.getName; //返回‘李妞妞'规则2如果在方法调用时没有为方法指定对象则this指针默认指向window,如:fun(),fun方法体中的this指针指向window。复制代码 代码如下:var fun = function; //返回window对象规则3没有在方法体中的代码可以看作执行在一个匿名方法,根据规则2可以推论出其this指针指向window。

完整示例:http://www.keleyi.com/keleyi/phtml/clearinput.htm 下面是源代码: 复制代码 代码如下:

复制代码 代码如下://问题比如:7*0.8 JavaScript算出来就是:5.6000000000000005

发生了什么事情

this //window对象改变this指针的默认指向使用apply复制代码 代码如下:var user = { name: '段光伟' };user.hi= function{ return this.name+':'+message; };window.name = '李妞妞'user.hi; //输出‘段光伟:你好'user.hi.apply; //输出‘李妞妞:你好'使用call复制代码 代码如下:var user = { name: '段光伟' };user.hi= function{ return this.name+':'+message; };window.name = '李妞妞'user.hi; //输出‘段光伟:你好'user.hi.call; //输出‘李妞妞:你好'构造函数中的this指向构造函数中的this指针默认指向执行正在构造的对象。复制代码 代码如下:var User = function{ this.name = name;};User.prototype.hi = function(){ return this.name;};var user = new User; //输出‘段光伟'最后的小测试猜猜最后的输出时什么?复制代码 代码如下:var User = function{ this.name = name; }; User.prototype.hi = function(){ return this.name; }; var user = new User; //输出‘段光伟'var hi = user.hi;hi(); //猜猜这里的输出

点击按钮后,这些文字将被清空。http:www.keleyi.com 柯乐义

//加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 //调用:accAdd //返回值:arg1加上arg2的精确结果 function accAdd { var r1, r2, m; try { r1 = arg1.toString[1].length } catch { r1 = 0 } try { r2 = arg2.toString[1].length } catch { r2 = 0 } m = Math.pow return / m } //用法: //给Number类型增加一个add方法,调用起来更加方便。 Number.prototype.add = function { return accAdd; } //如: var t1 = 6.60; var t2 = 1.32; var t3 = 1.2; var t4 = 1.2; var t5 = 1.2; alert.add.add.add.add;

执行规则规则1

//减法函数,用来得到精确的减法结果 function Subtr { var r1, r2, m, n; try { r1 = arg1.toString[1].length } catch { r1 = 0 } try { r2 = arg2.toString[1].length } catch { r2 = 0 } m = Math.pow; //last modify by deeka //动态控制精度长度 n = ? r1 : r2; return / m).toFixed; }

事件驱动的单线程模型,所有javascript的代码都在一个线程中执行,javascript线程从事件队列中一次取出一个事件进行执行。

//乘法函数,用来得到精确的乘法结果 //说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。 //调用:accMul //返回值:arg1乘以arg2的精确结果 function accMul { var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); try { m += s1.split[1].length } catch { } try { m += s2.split[1].length } catch { } return Number * Number / Math.pow } //用法: //给Number类型增加一个mul方法,调用起来更加方便。 Number.prototype.mul = function { return accMul; }

友情链接: 网站地图
Copyright © 2015-2019 http://www.nflfreepicks.net. 新葡萄京娱乐场网址有限公司 版权所有