我正在創建一個「車庫銷售 - isque」頁面,目前正在學習車把。我可以從一個js對象中調用一個函數嗎?
我想從一個屬性的定義中調用一個函數,並將返回的值作爲屬性值。
的設置我有現在的問題是:
var lawnGarden = [{
title: "Lawn Mower",
price: 75.00,
img: "./img/lawnMower.jpg",
desc: "Great mower, kept in great condition, runs smooth.",
link: genLink(this.title);
}, {
title: "Hedge Clippers",
price: 25.00
}, {
title: "Shovel",
price: 10.00
}, {
title: "Post Hole Digger",
price: 20.00
}]
function genLink(title) {
var baseURL = "https://pensacola.craigslist.org/search/sss?sort=rel&query=";
return baseURL + title.replace(" ", "%20");
}
反正對我來說,做到這一點?或者更好的方法?
我應該提到我在nodeJS工作。
順便說一句'.replace(「」,「%20」)'是一個糟糕的URL編碼器。它只會替換一個空格,並且不會編碼其他字符。使用'encodeURIComponent'。 –
你可以像這樣在一個JS對象中調用一個函數,但是在你的代碼中'this'不引用該對象,它指向該對象聲明的範圍的'this'。'this'只有任何在函數聲明中找到修改的含義。 – 4castle