我正在尝试浏览目录中的所有文件,如果有目录,请浏览所有文件,依此类推,直到没有更多目录要去.每个处理过的项目都将添加到下面函数的结果数组中.虽然我不知道我能做什么/我做错了什么但它不能正常工作,但是当处理下面的代码时,浏览器运行得非常慢,感谢任何帮助!
function getDirContents($dir){
$results = array();
$files = scandir($dir);
foreach($files as $key => $value){
if(!is_dir($dir. DIRECTORY_SEPARATOR .$value)){
$results[] = $value;
} else if(is_dir($dir. DIRECTORY_SEPARATOR .$value)) {
$results[] = $value;
getDirContents($dir. DIRECTORY_SEPARATOR .$value);
}
}
}
print_r(getDirContents('/xampp/htdocs/WORK'));
Run Code Online (Sandbox Code Playgroud) 我正在阅读关于OOP JS的developer.mozilla.org指南并遇到了这个片段:
function Person(gender) {
this.gender = gender;
}
Person.prototype.gender = '';
Person.prototype.sayHello = function () {
alert ('hello');
};
var person1 = new Person('Male');
var person2 = new Person('Female');
// call the Person sayHello method.
person1.sayHello(); // hello
Run Code Online (Sandbox Code Playgroud)
我不明白,如果(性别)已被定义为this.gender; 为什么我们需要把Person.prototype.gender =''; 线?我理解它对于构造函数之外的函数,但似乎该行重复了this.gender; 线.我知道它是创建性别作为Person()对象的属性,但不是只重复this.gender?
我很感激任何解释,我是OOP JS的新手.谢谢!