小编Ale*_* Ho的帖子

从构造函数返回的原始值将丢失

我创建了一个函数:

function CheckHidden(el){ return $(el).css('display')!='none' }
Run Code Online (Sandbox Code Playgroud)

我的IDE警告我:

使用'new'调用时,构造函数返回的原始值将丢失

实际上当我这样称呼时:

var all = $("#catalog-body > div").filter(function(){return  CheckHidden(this)})
Run Code Online (Sandbox Code Playgroud)

它不起作用,也不会将元素集减少到未隐藏的元素集.请向我解释这个问题.我缺乏知识.

javascript jquery

18
推荐指数
2
解决办法
8404
查看次数

PHP类成员可见性和继承的说明

请考虑以下代码段:

Class A {

    private $a = 'foo';

    public function F() {
        return $this->a;
    }

}

Class B extends A {

    private $a = 'bar';

}

echo (new B)->F();
Run Code Online (Sandbox Code Playgroud)

结果是foo.嗯,这是一个既成事实,php以这种方式工作.但我想知道为什么.如果在parent的方法F()声明中我使用伪变量$this,则它引用对象上下文.所以,当我把孩子继承的方法F() $this变量是指当前的实例Bprivate $a = 'bar',不是吗?

更新 感谢AbraCadaver的回复.有一种情况对我来说还不清楚:如果$this变量在调用期间是B的对象,F()它如何访问父母的私有成员?我是否理解正确$this在父方法的实现中类似于:

  public function F(B $obj) {
    return $obj->a;
}
Run Code Online (Sandbox Code Playgroud)

所以,从翻译父类检查物业的知名度和在私人范围情况下,它subsitutes B $objA $obj

php

5
推荐指数
1
解决办法
99
查看次数

标签 统计

javascript ×1

jquery ×1

php ×1