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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Одноименные локальная переменная и свойство класса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Может баг Node.js
ekkl
Отправлено: 02 Ноября, 2013 - 22:45:25
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Опять вопрос. Все тот же 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 объявлена как глобальная, все работает.

(Отредактировано автором: 02 Ноября, 2013 - 22:55:18)

 
 Top
nerv
Отправлено: 02 Ноября, 2013 - 23:56:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




я предлагаю сначала научиться объявлять переменные, затем писать на js, а уж после осваивать node.js

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

(Отредактировано автором: 02 Ноября, 2013 - 23:59:09)



-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB