我在JS中使用.length属性得到一些奇怪的行为,只是想知道是否有人可以澄清为什么我得到我正在做的结果。
这不起作用:
var ticketsProductName = $.trim($('#ticketsProductName').val());
if (ticketsProductName.length <= 5) {
// Do error stuff
}
ticketsProductName.length返回undefined,因此语句每次都失败。
但是...
这确实有效:
if ($.trim($('#ticketsProductName').val()).length <= 5) {
// Do error stuff
}
并产生预期的结果。
有人可以解释一下为什么我可以将#ticketsProductName的修剪值放入ticketsProductName变量但以后不调用.length吗?或者我错过了一些非常明显的东西?
提前致谢。
答案 0 :(得分:1)
语句是等效的,除了这个例子,代码中必须发生任何错误。如果我猜测我会说选择器没有返回任何内容而val()无效。