我想用JavaScript中的方法構建自己的對象,但是,在我第一次嘗試使用下面的代碼時返回完整的代碼「已在Chrome瀏覽器開發工具的控制檯沒有方法 'WriteOut的'。Javascript對象用方法返回「沒有方法」我的方法名稱「」錯誤
var link = function bhLink(options) {
defaultOptions = {
targetURL: '#',
target: '_blank',
textColor: '#000',
bgColor: '#fff',
font: 'Arial',
fontSize: '12px',
lineHeight: '12px',
text: '[Test]'
}
if (typeof options == 'object') {
options = $.extend(defaultOptions, options);
} else {
options = defaultOptions;
}
link.prototype.writeOut = function() {
return $('<a></a>')
.prop({'href':this.targetURL, 'target': this.target})
.css({'font-family':this.font, 'color':this.textColor, 'font-size': this.fontSize, 'line-height':this.lineHeight});
}
} // end link
我使用它像
$('#id_of_some_button').click(function(e) {
e.preventDefault();
$('#id_of_some_div').html(link.writeOut);
});
兩個click事件和鏈接是內$(document).ready({});
塊。
有何想法?
編輯 =========================================== ===
添加選項,參數和if語句來請檢查是否有提供的選項..
你執行'link'?如果沒有,那麼它還沒有給writeOut方法。通常方法被添加到構造函數的原型* outside *之外。 –
第一個問題:'link.writeOut'訪問一個屬性,而'link.writeOut()'執行一個方法。 – Blazemonger
評論者!還請看看我說這是我的第一次嘗試的地步..在這裏變得尷尬! :) –