2016-02-03 2 views
-2

Можно ли сделать возвращаемое значение (глобальной) функции значением объекта?JS: Сделать глобальную функцию значением объекта?

Например:

var wonka = "everlastinggobstopper"; 

function funky(my_string){ 
var string_length = my_string.length 
}; 

myObject = { 
word_length: funky(wonka), 
}; 

Как я могу сделать это запустить без определения функции снова в MyObject?

+1

Просто 'return string_length' из вашей функции. В чем проблема? – meagar

+0

Просто использовать 'myObject = {word_length: funky}' может быть то, что вы имеете в виду? – migg

+0

Я могу установить значение, равное самой функции, но не функцию с «wonka» в качестве аргумента. Почему я не могу включить аргументы? –

ответ

0

Функция должна вернуть что-то.

function funky(my_string) { 
    var string_length = my_string.length; 
    return string_length; 
} 

Ваша функция не имеет return заявления, так что вы назначая undefined к word_length собственности.

+0

Спасибо! Это многое объясняет. Что делать, если я попробовал это с массивом, например, если var wonka = ["вечный gobstopper", "laffy taffy", "nerds"], а затем я попытался установить свойство word_length на фанки (wonka [1])? Когда я пытаюсь это сделать в браузере, я получаю «word_length: Array [1]» (?), Но когда я нажимаю на него, чтобы развернуть, значение «Массив [1]» верное. Правильно ли это, или я что-то упускаю? –

+0

Не уверен, что вы подразумеваете под словом «попробуйте это в браузере» против «щелкните по нему, чтобы развернуть». Можете ли вы сделать jsfiddle, который показывает, о чем вы говорите? – Barmar

+0

Извините за мое плохое объяснение! Я действительно новый. Вот моя скрипка: https://jsfiddle.net/cave_coder1/8ow0n6ws/5/ –

Смежные вопросы