2016-07-07 2 views
0

Как передать свойства переменной? переменная() работает, но когда я пытаюсь передать свойство я получить "неперехваченным TypeError: переменная не является функцией"Как передать свойства переменной в javascript?

function firstFunc(a) { 
 
    return `${a}`; 
 
} 
 

 
let variable = firstFunc(); 
 
document.write(variable(1));

+1

Я понятия не имею, что вы пытаетесь для достижения здесь. 'newFunc' не определен. – Quentin

+0

Это не «свойства», они «параметры» или «аргументы». Нет такой вещи, как «переменная функция», но переменная может ** удерживать ** функцию. Кроме того, можете ли вы исправить сообщение, чтобы использовать согласованные имена. –

ответ

4

Вы писали let variable = firstFunc(), поэтому переменная является результат исполнения firstFunc().

Вы хотите вместо того, что variable является ссылкой на функцию (например, псевдоним), так что вам нужно, чтобы не поставить скобки

function firstFunc(a) { 
 
    return `${a}`; 
 
} 
 

 
let variable = firstFunc; 
 
document.write(variable(1));

+0

удален() и все работает сейчас. спасибо –

3

Две ошибки:

  • Вы смущены firstFunc и newFunc
  • Чтобы назначить ссылку на функцию переменной, не назовите ее firstFunc(), просто назначить его без круглых скобок ()

Это отлично работает в браузерах, которые поддерживают ES6 функции, которые вы используете:

function firstFunc(a) { 
 
    return `${a}`; 
 
} 
 

 
let variable = firstFunc; 
 
document.write(variable(1));

+0

все хорошо сейчас) Спасибо –