# Lesson-3
===
修改f(selector) 里的判斷,新增domReady
我們知道在jQuery中還有一種選擇器寫法
```javascript
$(function() {
});
```
在dom加載完畢后馬上就執行,這樣的方法會比onload更快,所以domReady對于我們來說一定是必不可少的
我們在init方法中要新增以下判斷
```javascript
if(!selector) { return this; }
if (typeof selector == 'object') {
var selector = [selector];
for (var i = 0; i < selector.length; i++) {
this[i] = selector[i];
}
this.length = selector.length;
return this;
} else if (typeof selector == 'function') {
Kodo.ready(selector);
return;
}
```
首先selector可能為object的情況,比如傳入的是原生dom對象,dom數組對象. 另外要記得轉為數組`var selector = [selector];
因為有可能是一個元素比如是window,document等否則沒法循環
然后selector如果是function那我們就認為他是domReady
PS:在這我判斷的并沒有非常的全面,僅僅具備了基礎功能
```javascript
Kodo.ready = function(fn) {
doc.addEventListener('DOMContentLoaded',function() {
fn && fn();
},false);
doc.removeEventListener('DOMContentLoaded',fn,true);
};
```
然后這個是ready的源碼,由于我們只兼容高端瀏覽器所以僅僅需要這樣寫即可.
既然你都看到這了,還不給我一個star說得過去么你!! :(