使用 PhpStorm:我的代码将实例化类作为参数传递到函数中。我知道 className
是对特定类的引用。但是有没有办法让我的代码知道 ClassName
是什么?
$(document).on('validSelection', function(event,className){
alert( className.sayHello() );
});
这确实会使这个特定函数的编码变得更加容易,因为我计划大量使用 ClassName
。在 php 中,您可以通过执行以下操作来强制识别:
/* @var $variable ClassName */
最佳答案
My code is passing a Instantiated Class as a Parameter into a function
不,不是。您刚刚向函数列表添加了另一个参数,但是当调用它时(通过 jQuery,当事件发生时),它没有被传递。如果您在绑定(bind)事件处理程序时有权访问 className
,则可以利用闭包:
var className = {
sayHello : function() {
return "hello";
}
};
$(document).on('validSelection', function(event){
alert(className.sayHello()); // works
});
<小时/>
另一方面:我发现您正在使用自定义事件。因此,如果您调用.trigger
代码上的任何其他位置,然后您可以传递任何内容作为第二个参数,它将传递给事件处理程序:
var className = {
sayHello : function() {
return "hello";
}
};
$(document).trigger('validSelection', className);
// On a separate scope...
$(document).on('validSelection', function(event, className){
alert(className.sayHello()); // works
});
关于将类作为变量传递时的 Javascript 变量引用 (PhpStorm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14590893/