Jshint/PhpStorm:“;未解析变量“;使用jquery.data()时
Phpstorm一直告诉我有一个未定义的变量Jshint/PhpStorm:“;未解析变量“;使用jquery.data()时,jquery,phpstorm,jshint,jsdoc,Jquery,Phpstorm,Jshint,Jsdoc,Phpstorm一直告诉我有一个未定义的变量input.connectto Html: … JS: 以及: 我知道我可以忽略jshint中的一行,但是有没有办法用jsdoc纠正它,例如将input定义为对象相应地,正确的方法应该是使用@typedef定义实际的对象结构(如果以后在另一个地方重新使用它,则特别有用)和@type来声明特定变量的类型: /** * @typedef {Object} MyInputData * @property {string} connectto * @p
input.connectto
Html:
…
JS:
以及:
我知道我可以忽略jshint中的一行,但是有没有办法用jsdoc纠正它,例如将input
定义为对象相应地,正确的方法应该是使用@typedef
定义实际的对象结构(如果以后在另一个地方重新使用它,则特别有用)和@type
来声明特定变量的类型:
/**
* @typedef {Object} MyInputData
* @property {string} connectto
* @property {string} othervalue
*/
/** @type {MyInputData} */
var input = inputObj.data();
这一个(仅使用@typedef
和变量名作为类型名)似乎也适用于PhpStorm:
/**
* @typedef {Object} input
* @property {string} connectto
* @property {string} othervalue
*/
var input = inputObj.data();
如果您使用的是jQuery(如
$('.b-showColorinList').data('connectto');
),为什么不使用data(“connectto”)
?对不起,我把代码缩短了一点。当一个数据字段时,实际上有更多数据。修正了,现在我明白了——我只是在想——如果这不是任务关键型代码,或者不是经常执行的代码,或者需要立即执行而几乎没有延迟。。那么为什么不使用特定参数调用data
方法呢?试试这个(JSDoc):/***@typedef{Object}input*@property{String}connectto*@property{String}othervalue*/
——只需将其格式化好(注释不允许多行片段)
/**
* @typedef {Object} MyInputData
* @property {string} connectto
* @property {string} othervalue
*/
/** @type {MyInputData} */
var input = inputObj.data();
/**
* @typedef {Object} input
* @property {string} connectto
* @property {string} othervalue
*/
var input = inputObj.data();