为了账号安全,请及时绑定邮箱和手机立即绑定

关于 i 变量定义的问题

老师你好,有一点不明白

// 3.添加幻灯片的操作(所有的按钮&对应幻灯片的操作)
              function addSliders(){
                  // 3.1获取模板
                  var tpl_main = g('template_main').innerHTML.replace(/^\s*/, '').replace(/\s*$/, '');
                  var tpl_ctrl = g('template_ctrl').innerHTML.replace(/^\s*/, '').replace(/\s*$/, '');
                  
                  // 3.2定义最终输出HTML变量
                  var out_main = [];
                  var out_ctrl = [];
                  
                  // 3.3 遍历所有的数据,输出最终的HTML
                  for (i in data) {
                      var _html_main = tpl_main.replace(/{{index}}/g, data[i].img).replace(/{{h2}}/g, data[i].h1).replace(/{{h3}}/g, data[i].h2);
                      var _html_ctrl = tpl_ctrl.replace(/{{index}}/g, data[i].img);
                      
                      out_main.push(_html_main);
                      out_ctrl.push(_html_ctrl);
                  }
                  g('template_main').innerHTML = out_main.join('');
                  g('template_ctrl').innerHTML = out_ctrl.join('');
                  
                  // 7. 增加 # main_background
                  g('template_main').innerHTML += tpl_main.replace(/{{index}}/g, '{{index}}').replace(/{{h2}}/g, data[i].h1).replace(/{{h3}}/g, data[i].h2);
                  g('main_{{index}}').id = 'main_background';


              }



加下滑线的 i 变量, 没有定义就直接用了,不会报错吗?没明白

正在回答

3 回答

我的浏览器data[i]显示未定义,请问这个怎么解决啊,这样的话无法添加背景图片l

0 回复 有任何疑惑可以回复我~

js 的变量可以不用声明就使用。

因为加了 _ 下划线,所以知道是个临时变量,在其他地方即使被覆盖也不在意,随让他只是个临时工。

1 回复 有任何疑惑可以回复我~

定义变量时省略var是不安全的,不过是合法的。定义的变量的作用域取决于定义的位置

1、没有var

简明的说,定义变量时省略var是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。

2、有var

安全的,合法的。定义的变量的作用域取决于定义的位置。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于 i 变量定义的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信