从构造函数返回的基元值将丢失
Primitive value returned from constructor will be lost
我创建了一个函数:
function CheckHidden(el){ return $(el).css('display')!='none' }
我的IDE警告我:
当使用"new"调用时,从构造函数返回的基元值将丢失
事实上,当我这样称呼它时:
var all = $("#catalog-body > div").filter(function(){return CheckHidden(this)})
它不起作用,也不会将元素集减少为未隐藏的元素。请向我解释一下这个问题。我非常缺乏知识。
我自己也遇到过这个警告,如果你想知道原因,那是因为IDE希望函数名以小写字母开头。由于您的函数名为CheckHidden,带有大写C,因此它认为这是一个类声明。
但是,您仍然应该使用jQuery的:visible选择器来解决您的特定问题。
如果使用关键字new
创建对象(如警告中所述),JS将返回对象的新实例,而不是构造函数的返回值。
类似的功能
function CheckHidden() {
return false;
}
将返回两个不同的值,具体取决于它的执行方式。
// "a" is boolean value
var a = CheckHidden();
// "a" is an object of type "CheckHidden"
var a = new CheckHidden();
:visible
选择器。你可以做:
var all=$("#catalog-body > div").filter(':visible')
以获取可见元素。
如果您想提取所有可见的元素,可以使用jQuery的:visible
选择器:
var all = $("#catalog-body > div:visible")
相反,如果你想提取所有隐藏的元素,你可以将其与jQuery的:not
选择器结合起来:
$("#catalog-body > div:not(:visible)")
相关文章:
- ES6构造函数返回基类的实例
- 如何从“构造函数返回另一个对象”对象继承
- 如何在javascript中使用构造函数返回实例或sthelse
- 如何从 JavaScript 中的构造函数返回字符串
- 如果构造函数返回对象,则不能使用原型
- 当返回另一个构造函数时,从Javascript构造函数返回this的值
- 从构造函数返回的基元值将丢失
- 从 JavaScript 构造函数返回一个公共接口
- 如何从Javascript中使用new调用的构造函数返回null
- 如果构造函数返回new Func()会发生什么?
- 该变量中的Javascript构造函数返回error
- 从构造函数返回的对象没有原型
- 为什么从构造函数返回时原型未定义?
- 为什么构造函数返回与自身同名的对象
- 让构造函数返回一个Promise是不是不好的做法?
- Javascript构造函数-返回JSON对象的效果
- 构造函数返回对象的Instanceof为false
- 如何从构造函数返回一个数组,并成功地在Javascript中链接对象
- 为什么一个对象的构造函数返回object()而不是它的构造函数?
- 从构造函数返回一个数字