缺少了一个“;” 符号导致上面的报错产生 但是 我将 errorMessage 方法里面的 改成 $(element).is 这样就没有问题,很显然缺少 “;” 在传参的时候被当成dom 元素 传递过来 但是有 “;” 又是 JQ 对象, 这个是为什么呢! 特此一问, 希望能和大家探讨,望大神解决我心中疑惑
缺少了一个“;” 符号导致上面的报错产生
但是 我将 errorMessage 方法里面的 改成 $(element).is 这样就没有问题,很显然缺少 “;” 在传参的时候被当成dom 元素 传递过来 但是有 “;” 又是 JQ 对象, 这个是为什么呢! 特此一问, 希望能和大家探讨,望大神解决我心中疑惑
认证0级讲师
根本不是分号的问题好么,留意第一张图片,element这个在函数里你传进去的是选择器,控制台把element赋值为jq对象,留意控制台截图最上面一半的一行,是不是elemnent的赋值过程,反正是一个数组对吧,明显是jq对象.函数却直接传选择器 这是在干嘛!
var a = 1;var b = 2;这样定义是正确的。 var a = 1 var b = 2; 这样定义是错误的。 当你没有加分号, 下一句的定义是没法执行的。
虽然javascript会自动在行的结尾添加;,但也会遇到一些情况不会添加;。所以一般情况下都应该添加;,这也确保了进行代码压缩成一行时不出问题。
参考一下我翻译的这篇文章:JavaScript 中的自动分号插入(ASI)
这种情况果断断点调试,看传过去的是什么,如果真是dom节点,说明就是dom节点,可能就真的会出现这种问题。反正不加分号绝对是不好的,写js代码你最好把我一点,就是不要出现警告的提示。
根本不是分号的问题好么,留意第一张图片,element这个在函数里你传进去的是选择器,控制台把element赋值为jq对象,留意控制台截图最上面一半的一行,是不是elemnent的赋值过程,反正是一个数组对吧,明显是jq对象.函数却直接传选择器 这是在干嘛!
var a = 1;var b = 2;这样定义是正确的。
var a = 1 var b = 2; 这样定义是错误的。
当你没有加分号, 下一句的定义是没法执行的。
虽然javascript会自动在行的结尾添加;,但也会遇到一些情况不会添加;。所以一般情况下都应该添加;,这也确保了进行代码压缩成一行时不出问题。
参考一下我翻译的这篇文章:JavaScript 中的自动分号插入(ASI)
这种情况果断断点调试,看传过去的是什么,如果真是dom节点,说明就是dom节点,可能就真的会出现这种问题。反正不加分号绝对是不好的,写js代码你最好把我一点,就是不要出现警告的提示。