JS报错Uncaught TypeError: XXX is not a function的解决方法
今天在学习JS的时候,在学函数时,发现了一个有点意思的问题:
在网上找了很多方法,无果,毕竟不是每个人的原因都相同。
再回看了一下笔记,对比了一下代码,找到了可疑之处:
上面就是我当时看视频拍下的照片,但是笔记内容没有很完善,当时听课的时候,还是抱着这个之前学过的心态去听的,没想到晚上自己实践之后,就给我当头一棒了。说明,学习心态还是非常重要的,好在才学到60集而已。
下面是我的代码:
let a = +prompt(`请输入第一个数:`) let b = +prompt(`请输入第二个数:`) // let sum = 0 // console.log(a, b) // 新方法,匿名函数 (function (a, b) { console.log(a + b) })(a, b)
突然发现,我的function少了分号,而我上课的时候,发现老师有重点说这个问题,这个分号是必须写的,不然就会报错。
于是我在后面加上了分号:
去浏览器运行,发现仍旧是报错的:
然后我就想着会不会是加错地方了,因为错误提示说promp有问题,所以我决定把分号加到function加到前面,如下图:
在浏览器刷新,发现成了:
所以总得来说,是因为我使用了匿名函数中的立即执行方法,本身就是为了验证和加强我的学习理解的,没想到让我写了这么久。
最后,附上我的四种方法:
let a = +prompt(`请输入第一个数:`) let b = +prompt(`请输入第二个数:`) // let sum = 0 // console.log(a, b) // // 新方法,匿名函数 // ; (function (a, b) { // console.log(a + b) // })(a, b) // 第二种方法 ; (function (a, b) { console.log(a + b) }(a, b)) // //传统方法,没有sum // function plus(x, y) { // x = x || 0 // y = y || 0 // console.log(x + y) // } // plus(a, b) // // 传统方法,有sum: // function plus(a, b) { // a = a || 0 // b = b || 0 // sum = a + b // } // // 先执行这个函数,然后再打印 // plus(a, b) // console.log(sum) // //注意: 得有返回值,才能将运行结果赋给一个值 function plus(a,b){ return a+b } sum = plus(a,b) console.log(sum)
总结
到此这篇关于JS报错Uncaught TypeError: XXX is not a function解决方法的文章就介绍到这了,更多相关Uncaught TypeError: XXX is not a function内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
最近做项目遇到表单在输入后立即验证,而不是提交后再验证,在网上找了下资料,没有合适的,于是我自己动手写了一个,分享到脚本之家平台,供大家参考2017-06-06
最新评论