2012-06-12 3 views
1

Я не уверен, что я пишу допустимый аргумент javascript или нет.- это действительный аргумент js?

function localData(){ 

    this.setInfo(key, value) = 
      function(){ 
       localStorage.setItem(key, value); 
      }; 
} 

, как я могу отправить ключ, значение Params в SetInfo (ключ, значение) для функции() {}?
есть ли способ достичь этого?

+1

Если вы не указали 'localData', будет ли вопрос по-прежнему иметь смысл? Если да, пожалуйста, не включайте его. – dbkaplun

+1

В левой части (LHS) оператора присваивания действуют только свойства и переменные. (Это функция-приложение на LHS и, следовательно, не свойство или переменная и, следовательно, недействительно. Это приведет к SyntaxError.) –

+0

Как вы думаете, что 'this' ссылается внутри функции? Является ли 'localData' предположительным конструктором? – RobG

ответ

1

Id скажем правильным является:

function localData(){ 
setInfo = function(key, value) { 
    localStorage.setItem(key, value); 
} 
} 
+0

Возможно, должно быть 'this.setInfo = ...' (предполагая, что 'localData' вызывается как функция конструктора). –

+0

поэтому .. если я пишу setInfo ("abc", "123"); key: abc, значение: 123 будет храниться в localstorage? –

1

Я предполагаю, что localData функция, в которой вы хотите определить setInfo таким образом, что вы можете назвать его с двумя аргументами - key и value. Попробуйте следующее:

this.setInfo = function (key, value) { 
    // whatever code here 
} 

Помните, что функции также являются объектами!

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