2014-01-25 48 views
-2

在Ruby中,我們可以在運行時動態修改它添加一個新的方法,以先前定義的類:在JavaScript中爲類添加新方法?

class String 
    def to_magic 
    "magic" 
    end 
end 

是否有可能做同樣的在JavaScript?如果是,如何?

+2

簡短的回答:是的。 –

+2

是的,通過['String.prototype'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/prototype)和類似的。例子:['.trim()'polyfill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Compatibility)。請注意,JavaScript中的猴子修補可能會影響其他操作,例如'for..in'循環。 –

+0

爲什麼downvotes? –

回答

3

在JavaScript中的等價物:

String.prototype.toMagic = function(){ 
    return "magic"; 
} 

console.log("".toMagic());//>>> "magic" 
相關問題