大家进来看看 JQ 缺少 “;” 区别

如果我不再coding
  • 77

请输入图片描述

上面图片报错是有这个引起,但是发现一个让我纠结的小问题

请输入图片描述

缺少了一个“;” 符号导致上面的报错产生

但是 我将 errorMessage 方法里面的 改成 $(element).is 这样就没有问题,很显然缺少 “;” 在传参的时候被当成dom 元素 传递过来 但是有 “;” 又是 JQ 对象, 这个是为什么呢! 特此一问, 希望能和大家探讨,望大神解决我心中疑惑

回复
阅读 4.4k
5 个回答

根本不是分号的问题好么,留意第一张图片,element这个在函数里你传进去的是选择器,控制台把element赋值为jq对象,留意控制台截图最上面一半的一行,是不是elemnent的赋值过程,反正是一个数组对吧,明显是jq对象.函数却直接传选择器 这是在干嘛!

var a = 1;var b = 2;这样定义是正确的。
var a = 1 var b = 2; 这样定义是错误的。
当你没有加分号, 下一句的定义是没法执行的。

虽然javascript会自动在行的结尾添加;,但也会遇到一些情况不会添加;。所以一般情况下都应该添加;,这也确保了进行代码压缩成一行时不出问题。

这种情况果断断点调试,看传过去的是什么,如果真是dom节点,说明就是dom节点,可能就真的会出现这种问题。反正不加分号绝对是不好的,写js代码你最好把我一点,就是不要出现警告的提示。

宣传栏