我怎样才能实现以下代码示例中的jQuery-Intellisense?
function doSomething($jQueryObject) {
$jQueryObject. // I want to have Intellisense here
};
var $parameter = jQuery('body');
doSomething($parameter);
问题是Intellisense不知道函数的参数是jQuery-Object.我怎么能告诉函数参数类型?
我知道我可以在函数中写一些类似的东西
$obj = $j($jQueryObject);
最佳答案
Javascript是一种松散类型的语言,这意味着类型不是明确声明的,而是在运行时内部决定的.
Interllisense无法确定变量的类型(无论编辑器如何),因为它根本没有定义.您可以将任何想要的内容传递给doSomething()方法.这是一种强大而灵活的编程方式.不好的一面是它可能需要实施一些检查以避免错误/异常
如果要为其他开发人员构建某种框架或API,则应考虑测试参数的类型.
要测试jQuery类型变量,请执行以下操作:
var $obj = $jQueryObject instanceof jQuery
? $jQueryObject
: $($jQueryObject);
注意:使用$前缀变量名称是使用该函数的开发人员的预期变量的jQuery性质的一个很好的指标.
编辑:通过instanceof jQuery替换typeof ===“jQuery”
原文地址:https://www.jb51.cc/jquery/428029.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。