无法调用后续声明的函数?计算器开发参数传递问题已解决
解决计算器开发中函数无法正确触发后续声明函数的问题
最近做作业开发计算器时踩了个坑:我的inNum函数需要调用后面声明的清除输入的函数,但怎么都触发不了目标分支。当时的代码片段大概是这样的:
function inNum(num) { if(arrHistory.indexOf('=') != -1) { action(ac); } (entry.length === 1 && entry[0] === 0) ? entry[0] = num: typeof entry[0] == 'string' ? entry = [num] : /* 后续逻辑 */ }
后来终于搞懂哪里错了!多亏@floor的提醒:我调用action(ac)的时候,传的是变量ac的引用,但实际上要触发清除的目标分支,得传字符串'ac'才行。
把调用改成下面这样就完全正常了:
action('ac');
说白了就是把变量引用和字符串参数搞混了,这个小细节差点卡了我好久😂
内容的提问来源于stack exchange,提问作者Alon Parag
相关产品推荐
相关产品推荐

