c艹问题 正确错误图标行用※标出了 求大神解答 我感觉实现和调用函数也有问题。但不知道怎么改,首尾已去

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
众所周知,在javascript中,内嵌函数,可以访问所有外层函数的变量,这个是由著名的js作用域链实现的,但是我只是从语法特性的角度去理解这个知识点的,不知道里面具体原理是什么呢?就比如,我们在chrome中去尝试这个访问:我们发现:height变量压根不存在,肯定为not available,但是局部变量textVar和count也是not available;color作为全局变量可以访问到,值就是red。下面是firefox里面的测试结果:firefox中,height变量height is not defined很好理解,但是textVar和count爆出错误variable has been optimized out是什么意思?我们稍微修改下代码:这次,我们特意在内嵌函数里面访问下count变量,count变量的值在Watch里面正确读取到了,但是textVar依旧没有被访问到,相对于上面那个测试,是不是很奇怪?js解释引擎到底怎么处理类似逻辑的?下面是firefox里面的测试结果:这个测试结果和chrome测试结果保持一致,就不累述了。为了进一步研究,我们写nodejs测试,用webstorm对nodejs代码调试:看了一下Watchers,发现nodejs简直丧心病狂,全局变量color都变得不可访问了。仿照上面的套路,我们在函数里面显式访问textVar,结果是:显式访问textVar变量,textVar在Watchers里面访问到了。很多小伙伴认为我在讨论闭包问题,我在此申明下,我讨论的是js作用域链问题:
不是闭包吧,还是一样的测试结果!!!我讨论的是js作用域链的问题,探究的是js作用域的底层实现,虽然是个小美工,但是想跟你们多学点东西嘛。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
得亏这么个问题你写了 3 屏幕的字,认真学学闭包你就明白了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个是执行栈的问题。
上面,return了一个方法赋给了一个全局变量。作用域还是在的,只不过这个返回方法的执行栈脱离了原本方法的执行栈,这就是闭包。Chrome的watch是基于当前栈的,所以找不到。建议还是学习下闭包。
下面那个例子,也是这个问题。。在内部执行的方法中,是没有b的,这只是执行栈没有用到,但是作用域链上是有的。
也可以看到b只要你改下Call Stack就好了,在外部执行栈内,还是有b的。
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App查看: 1180|回复: 7
round函数问题,四舍五入出问题了,求大神解决,谢谢
阅读权限20
在线时间 小时
本帖最后由 菜鸟啃EXCEL 于
09:33 编辑
用round函数计算出来的数值,比正式的结果差了0.01,不知道怎么回事啊,求解决,谢谢!
(7.67 KB, 下载次数: 11)
09:16 上传
点击文件名下载附件
补充:结果要求保留两位小数啊~~~~
阅读权限95
在线时间 小时
=ROUND(IF((R3-,(R3--13505-I3,IF((R3-,(R3--5505-I3,IF((R3-,(R3--2755-I3,IF((R3-,(R3--1005-I3,IF((R3-,(R3--555-I3,IF((R3-,(R3--105-I3,IF((R3-3500)&0,(R3--I3,&0&))))))),)
阅读权限20
在线时间 小时
把你的公式最后的2,去掉或改为0
阅读权限20
在线时间 小时
本帖最后由 菜鸟啃EXCEL 于
09:35 编辑
那我想保留两位小数啊,该怎么弄?去掉的话就取整了
阅读权限95
在线时间 小时
菜鸟啃EXCEL 发表于
那我想保留两位小数啊,该怎么弄?去掉的话就取整了
自定义单元格格式:<font color="#ff
阅读权限20
在线时间 小时
& & & & & & & &
麻烦再看下附表,如果结果是带小数的,round函数后面改成0的话,全变成.00了,结果就差了小数位的值了。
09:55 上传
点击文件名下载附件
8.23 KB, 下载次数: 3
阅读权限95
在线时间 小时
菜鸟啃EXCEL 发表于
麻烦再看下附表,如果结果是带小数的,round函数后面改成0的话,全变成.00了,结果就差了小数位的值了。
(8.57 KB, 下载次数: 7)
10:41 上传
点击文件名下载附件
阅读权限20
在线时间 小时
李兴德 发表于
您好,公式我看了,但是计算出来的税金,结果应该是881.25,按照您的公式,算出来是881.00,差了0.25,所以我觉得是不是还得修改下,最终目的是将公式计算出来的结果,四舍五入保留两位小数,而不是舍去小数,全部变成.00,比如税金是19.445,round函数保留两位小数后是19.45,而不是19.00,谢谢!
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 运行时错误9下标越界 的文章

 

随机推荐