一、var定义变量的方法:
var btns=document.querySelectorAll('button');
for(var i = 0;i<btns.length;i++){
btns[i].οnclick=function(){
alert('点击了第'+i+'个按钮');
点击按钮后弹出的都是第4个,原因是var定义变量i作用域造成的。
解决方法:
(1)、let定义变量的方法:
let btns=document.querySelectorAll('button');
for(let i = 0;i<btns.length;i++){
btns[i].οnclick=function(){
alert('点击了第'+i+'个按钮');
以上写法在IE浏览区不支持,其他的浏览器支持,点击按钮能取到需要的值。
(2)、var定义变量的方法:
var btns=document.querySelectorAll('button');
for(var i = 0;i<btns.length;i++){
(function(i){
btns[i].οnclick=function(){
alert('点击了第'+i+'个按钮');
})(i);
}
以上写法支持IE浏览器
有5个按钮:&lt;div&gt; &lt;button&gt;按钮1&lt;/button&gt; &lt;button&gt;按钮2&lt;/button&gt; &lt;button&gt;按钮3&lt;/button&gt; &lt;button&gt;按钮4&lt;/button&gt;
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>闭包演示</title>
</head>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
[removed]
[removed]=function() {
var ps = docum
var json = { top: '400px', width: '500px', height: '300px' };
var data = {};//在外面定义对象
var datas = [];
for (key in json) {
data.nam...
for (var i =5; i >= 0; i--) {
// console.log(i);//5 4 3 2 1 0
// console.log(this);//window对象
for (var j =5; j >= 0; j--) {
// console.log(i);5 4 3 2 1 0各六遍
但是结果却不尽人意,总是弹出“6----果敢”,比较好的解决方法有以下几种:
1、使用闭包
var els = document.getElementsByTagName("li");
for (i = 0; i < els.length; i++) {
var el = els[i
在做项目时遇到了一个关于遍历的问题,
前提是:在ul中有n个li每个li从后台获取的数据中有一个sign的字段,当sign等于0时(li未被点击过)li会显示一个红点,当sign不等于0时(li已被点击)红点会消失,开始时的代码是这样的
for(var i=0;i<data.length;i++){
if(data[i].sign==0){
$api.addCl...
var dataSet = ["首页", "博客", "下载"]
for (var i = 0; i < dataSet.length; i++) {
var item = dataSet[i];
setTimeout(function () {
con...
通过异步获取数据,往echart图显示,但是每次异步,每次获取数据都不一样,只获取最后一个的数据
for(i=0;i<=4;i++){
var myChart = echarts.init(document.getElementById('echarts' + i));
myChart.setOption({
title : {
text : "",
x : 'ce...
const test = { dd: '444', fff: '555', ggg: '0' }
testArr.forEach(item => {
test.ggg = item.cc
arr.push(test)
console.log('arr', ar
public static void main(String[] arg0){
List<User> userList=new ArrayList<User>();
User user=new User();