Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2014, 17:26
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

jsDoc и phpStorm
есть вот такой комментарий
/*
     * Поиск элементов, с соответствующим текстом и отображение результатов
     *
     * @param {string} text текст для поиска.
     * @param {Object} opt_params параметры {optional}.
     * @param {Bool} opt_params.opt_fromBegin задает необходимый текст должен начинаться с начала, или просто быть в текст {optional}.
     * @param {Bool} opt_params.opt_reg задает учет регистра {optional}.
     * @param {Function} opt_params.opt_callback вызываеться когда элементы будут спрятаны.
     *
     * */

function (text, opt_params)


первый параметр обязательный, второй не обязательный объект, с не обязательными свойствами.
Не пойму почему phpStorm отмечает первый параметр как {optional}
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 25.04.2014 в 17:33.
Ответить с цитированием
  #2 (permalink)  
Старый 25.04.2014, 18:01
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

JSDoc объявляется с
/**
.

PS:
Для передачи литералов логического типа нужно писать
boolean
, а для callback-ов синтаксис function().

@param {function(this:String, number, string): number}
@param {function(new:goog.ui.Menu, string)}


Опциональность параметров показывает знак =

@param {string=}
@param {(number|Object)=}


Также следует помнить об отношении к null:
string, number, boolean, function - не null по умолчанию, можно использовать модификатор ?, например, ?boolean, т.е. boolean|null

Все объекты, например, String, Function могут быть null, а чтобы запретить такое поведение нужно использовать модификатор !, например, !Function

Если примитив задаётся как объект, то название пишется с заглавной буквы,
т.е. для new Boolean нужно писать Boolean, а для true - boolean.

дока
дока 2
дока 3
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 25.04.2014 в 18:27.
Ответить с цитированием
  #3 (permalink)  
Старый 25.04.2014, 19:49
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, спасибо
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #4 (permalink)  
Старый 25.04.2014, 20:06
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

а так описывать если в качестве this, свой класс
@param {function(this:MyClass)}

?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 25.04.2014 в 20:13.
Ответить с цитированием
  #5 (permalink)  
Старый 25.04.2014, 20:59
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
а так описывать если в качестве this, свой класс
@param {function(this:MyClass)}

?
Да, важно понять, что тип данных - это функция-конструктор или литерал, т.е. то, с чем можно провести instanceof.

НО есть исключение из правил, директива @lends - она используется для декларации литерала объекта как части другого объекта, т.е.

function Foo() {
}

// Тут некоторая функция для создания классов
Class(Foo, /** @lends {Foo.prototype} */ {
    get: function () {}
});
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 25.04.2014, 21:08
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от kobezzza
Да, важно понять, что тип данных - это функция-конструктор
я это знаю, просто уточнил.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #7 (permalink)  
Старый 25.04.2014, 21:12
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, не могу найти как правильно указать значение по умолчанию ? по ссылкам нашел только для типов по умолчанию..
к примеру, переменная boolean по умолчанию false
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #8 (permalink)  
Старый 25.04.2014, 21:23
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
kobezzza, не могу найти как правильно указать значение по умолчанию ? по ссылкам нашел только для типов по умолчанию..
к примеру, переменная boolean по умолчанию false
Значение по умолчанию можно указывать вместе с названием параметра, например,

@param {string=} [foo='bar']


ну или если ты используешь ECMAScript6, то просто

function foo(foo = 'bar') {
}


WebStorm это поймёт.
__________________
kobezzza
code monkey
Ответить с цитированием
  #9 (permalink)  
Старый 25.04.2014, 21:27
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

kobezzza, thx, и последняя загвоздка на эту тему,
в качестве параметра передается коллекция элементов (полученная через jQuery) правильно ли будет указать тип HTMLCollection ?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #10 (permalink)  
Старый 25.04.2014, 21:33
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
kobezzza, thx, и последняя загвоздка на эту тему,
в качестве параметра передается коллекция элементов (полученная через jQuery) правильно ли будет указать тип HTMLCollection ?
Нет, т.к.

$('.foo') instanceof jQuery === true


т.е. надо писать jQuery. А вот например для getElementsByTagName будет HTMLCollection.
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ftp file manager phpstorm Maxmaxmaxmaximus8 Оффтопик 3 10.03.2014 20:16
jsdoc - почему не работает файл конфигурации? aRpi AJAX и COMET 0 11.01.2014 20:01
У кого-там life edit в phpstorm не работал? godofjavascript Оффтопик 6 17.12.2012 18:53
jsdoc (документирование protected свойств) Tim Оффтопик 19 04.06.2012 00:20
JSDoc — JavaScript Documentation Tool Octane Оффтопик 3 04.09.2009 20:24