我在项目中的PhpStorm中的JavaScript文件中看到了警告,我想对此做些什么。我有这样的代码:
<div class="section5">
<div class="sign2">
<img src="img/sign2.png" alt="Beauty Secrets Logo" /></div>
<div class="wrapper">
<div class="left ">
<h3>Conact us</h3>
<p class="paragraph bottom">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
</p>
</div>
<div class="middle ">
<h3>Conact us</h3>
<p class="paragraph bottom">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
</p>
</div>
<div class="right ">
<h3>Conact us</h3>
<p class="paragraph bottom">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
</p>
</div>
</div>
</div>
在代码中指示的行上,PHP给出了这个警告:
参数类型someFunction不能分配给参数类型Number
我明白这意味着什么以及为什么会发出这样的警告:PhpStorm无法知道jQuery在function someFunction() {
...
var myArray = [1, 2, 3, ...];
$.each(myArray, function() { someOtherFunction(this); }); //warning on this line
....
}
/**
* @param {Number} value
*/
function someOtherFunction(value) {
...
}
循环回调中重新定义this
上下文。我的问题是我能做些什么来暗示这种重新定义正在发生以及.each
在这种情况下究竟是什么?
答案 0 :(得分:0)
function someFunction() {
...
var myArray = [1, 2, 3, ...];
$.each(myArray, function(i, val) { someOtherFunction(val); }); //warning on this line
....
}
http://api.jquery.com/jquery.each/ 这里的jQuery文档显示回调函数的参数实际上是处理值的。传递的第一个参数是数组索引,第二个参数传递给值,这就是你要寻找的。 p>
事情是this
永远不会只是一个原始值。 jQuery总是把它包装成一个对象。