2014-02-28 38 views
0

我試圖建立使用安德魯·伯吉斯的在線教程(http://code.tutsplus.com/tutorials/build-your-first-javascript-library--net-26796)我自己的JavaScript庫和我以下罰款,但我想知道get: function(selector)做下面的代碼是什麼:任何人都可以幫助解釋「get:function()」和.prototype給我嗎?

(function() { 
function Dyn(elems) { 
    for (var i; i < elems.length; i++) { 
     this[i] = elems[i]; 
    } 
    this.length = elems.length; 
} 

var DynamicScript = { 
    /*here it is!-->*/get: function(selector) { 
     var elems; 
     if (typeof selector === "string") { 
      elems = document.querySelectorAll(selector); 
     } else if (selector.length) { 
      elems = selector; 
     } else { 
      elems = [selector]; 
     } 
     return new Dyn(elems); 
    } 
}; 

return DynamicScript; 
}()); 

如果有人可以告訴我它是什麼,我會非常感激。

此外,在本教程中,有一個功能,看起來像這樣:

Dyn.prototype.map = function (callback) { 
var results = [], i = 0; 
for (; i < this.length; i++) { 
    results.push(callback.call(this, this[i], i)); 
} 
return results; 
}; 

我真的想什麼呢.prototype一個不錯的,簡單的解釋。我一直無法理解我已經遇到過的情況,所以如果你可以假裝你正在和一個白癡對話(假裝沒太多點),並以最簡單的方式解釋它,我將非常感激。

感謝您的關注,我真的需要幫助。

+1

你可以看到[這個問題](http://stackoverflow.com/questions/572897/how-does-javascript-prototype-work)和[this](https://developer.mozilla.org/en -US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype),[這裏](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/get)吸氣劑。大多數情況下,我建議您查看[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects),瞭解如何在Javascript中使用對象。 –

+0

第一個只創建一個具有「get」屬性的對象,該屬性具有一個函數作爲其值。 'prototype'是JavaScript的繼承機制。這些是根本問題。在嘗試創建庫之前學習語言基礎知識可能是一個好主意。 –

+3

關於第一個問題:[使用對象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Using_object_initializers)。關於'prototype' [繼承和原型鏈](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain) –

回答

0

好吧!

所以,當我問這個問題時,我是一個JavaScript新手,並且可悲地不知道對象!

現在我知道對象是什麼了,但我意識到代碼中的語法,並且能夠理解它的含義!

var DynamicScript = { 
    get: function(){ 
    ... 

正在創建一個屬性,獲取值爲function(){...

Dyn.prototype.map = function (callback) { 

做幾乎完全一樣的東西,創造了Dyn稱爲地圖的屬性,與該函數的值。

Ta-da!

相關問題