gpt4 book ai didi

javascript - 获取警告不要在循环 jslint 中创建函数

转载 作者:行者123 更新时间:2023-11-30 07:13:44 25 4
gpt4 key购买 nike

我收到警告不要在我的代码循环中创建函数我正在使用 jslint 我的问题是

  1. 是否可以忽略此警告。
  2. 我该如何纠正这个问题。

jsfiddle link

/*global prompt,alert,console,rgb*/
/*jslint plusplus: true */
/*jshint loopfunc: true */
var colors = [
'rgb(255, 0, 0)',
'rgb(255, 255, 0)',
'rgb(255, 255, 255)',
'rgb(0, 255, 255)',
'rgb(0, 255, 0)',
'rgb(0, 0, 255)'
];

var pickedColor = colors[2];
var square = document.querySelectorAll(".square");
var i;
var colorMatch = document.querySelector(".pickedColor");
for (i = 0; i < square.length; i++) {
//add different color to square
square[i].style.background = colors[i];
//add eventlistner to square
square[i].addEventListener('click', function () {
'use strict';
var selectedColor = (this.style.background);
if (selectedColor === pickedColor) {
console.log("True");
} else {
console.log('False');
}
});
}
colorMatch.textContent = pickedColor;
body{
background: rgb(52, 73, 94);
}
h1{
color: white;
}
.container{
margin: 0 auto;
max-width: 600px;
}
.square{
width: 30%;
margin: 1.66%;
background-color: purple;
padding-bottom: 30%;
float: left;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Color Game</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>The Great <spam class="pickedColor"
>RGB</spam> Color Game</h1>
<div class="container">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
<script src="script.js"></script>
</body>
</html>

enter image description here

同时,非常感谢您的关注和参与。

最佳答案

出于性能原因,创建函数需要一些时间,因此如果不必多次(在循环中)完成,那更好。您可以在循环之前定义您的函数以在内部引用它:

function handler() {
'use strict';
var selectedColor = (this.style.background);
if (selectedColor === pickedColor) {
console.log("True");
} else {
console.log('False');
}
}

for (i = 0; i < square.length; i++) {
//add different color to square
square[i].style.background = colors[i];
//add eventlistner to square
square[i].addEventListener('click', handler);
}

关于javascript - 获取警告不要在循环 jslint 中创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38180196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com