Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Одноименные локальная переменная и свойство класса
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Одноименные локальная переменная и свойство класса

Страниц (1): [1]
 

1. ekkl - 02 Ноября, 2013 - 22:45:25 - перейти к сообщению
Опять вопрос. Все тот же Node.js
Есть некоторая функция(процедура)
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function jql_create() {
  3.         if (!this.tables){
  4.                 this.tables = new Array();
  5.         }
  6.         if (this.tables.indexOf(JQL.table()) !== -1)
  7.         {
  8.                 console.log('TABLE already exists ' + JQL.table());
  9.                 throw 'ERROR';
  10.         }      
  11.         this.tables.push(JQL.table());
  12.         table = jqlconf['prefix'] + JQL.table();
  13.         if (jqlconf['adddelete'])
  14.         {
  15.                 JQL.push('DROP TABLE ' + table + ' IF EXISTS;', true);
  16.         }
  17.         JQL.push( 'CREATE TABLE ' + table + ' (');
  18.         return true;
  19. }

Первый вызов проходит нормально. второй завершается с ошибкой
//TypeError: Property 'table' of object #<Object> is not a function
Если сделать вот так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function jql_create(table) {
  3.  

Все работает отлично.
Процедура вызывается без параметров.
В чём ошибка?
----
ПС. Если локальную переменную table заменить на другую, все работает. Почему так?
ПС. Если в начало кода добавить table = '' Ту же ошибку получаю уже при первом вызове.
Если table объявлена как глобальная, все работает.
2. nerv - 02 Ноября, 2013 - 23:56:07 - перейти к сообщению
я предлагаю сначала научиться объявлять переменные, затем писать на js, а уж после осваивать node.js

а еще этот раздел форума называется "Клиентская разработка"

 

Powered by ExBB FM 1.0 RC1