Javascript Can';返回对象方法名
我试图获得Javascript Can';返回对象方法名,javascript,Javascript,我试图获得delicious和love方法的名称,然后将其放入数组quotes中。我需要这样做,因为引号将显示在选择框中。我尝试使用函数.name。它适用于Say,但当我在delicious和love上使用它时,我得到的是空字符串 这里怎么了 console.log('>>START') function Say(name) { this.name = name } function Food(name) { this.name = name } Say.del
delicious
和love
方法的名称,然后将其放入数组quotes
中。我需要这样做,因为引号将显示在选择框中。我尝试使用函数.name
。它适用于Say
,但当我在delicious
和love
上使用它时,我得到的是空字符串
这里怎么了
console.log('>>START')
function Say(name) {
this.name = name
}
function Food(name) {
this.name = name
}
Say.delicious = function(food) {
if (!food) food = 'food'
console.log('This '+food+' is delicious')
}
Say.love = function(food) {
if (!food) food = 'food'
console.log('I love '+food)
}
var pizza = new Food('Pizza')
var donut = new Food('Donut')
var quotes = [Say.delicious.name, Say.love.name]
Say.delicious(donut.name) // This Donut is delicious
Say.love(pizza.name) // I love Pizza
console.log(quotes) // ["",""]
console.log(Say.name) // Say
这是因为函数
delicious
实际上是一个匿名函数,如果我理解正确的话,它引用了比如.delicious
您可以将其指定为命名函数,如下所示:
Say.delicious = function delicious(food) {
if (!food) food = 'food'
console.log('This '+food+' is delicious')
}
console.log('>>START')
函数Say(名称){
this.name=name
}
功能食品(名称){
this.name=name
}
Say.delicious=功能美味(食物){
如果(!食品)食品=‘食品’
console.log('这个'+food+'很好吃')
}
爱=功能爱(食物){
如果(!食品)食品=‘食品’
console.log('我爱'+食物)
}
var pizza=新食品(“pizza”)
var甜甜圈=新食品(“甜甜圈”)
var quotes=[Say.delicious.name,Say.love.name]
Say.delicious(donut.name)//这个甜甜圈很好吃
Say.love(pizza.name)//我喜欢比萨饼
console.log(引号)/[“”,“”]
console.log(Say.name)//Say