怎么这里的js变量传递不了

问题描述

functionaaa(){vartmp=document.getElementsByTagName("img");for(i=0;i<tmp.length;i++){tmp[i].attachEvent("onmouseover",function(){bbb(i)});//bbb(i)中的i怎么才能与外部的i同步}}

解决方案

解决方案二:
现在不就是同步的吗?你啥意思?
解决方案三:
bbb(i)中的i不能引用for语句中的i呀...我想要的效果是attachEvent("onmouseover",function(){bbb(i)})中的i从0变到tmp.length。但事实上,我测试过了,bbb(i)中的i是未被赋值的,除非写成function(){i=0;bbb(i)},可这样的话bbb(i)中的i永远都只能等于0,这并不是我想要的效果!
解决方案四:
你在for外部定义i,在for里在那么写。试试可不可以
解决方案五:
用一个变量来接收i
解决方案六:
引用3楼renyingxinjing的回复:

你在for外部定义i,在for里在那么写。试试可不可以

引用4楼tanpingpingiloveyou的回复:

用一个变量来接收i

1.你们是同一个意思。虽然有点效果,不过还是不行!!!2.我把这一部分改成如下:varj=0;for(i=0;i<tmp.length;i++){j=i;tmp[i].attachEvent("onmouseover",function(){bbb(j)});}3.结果:所有的bbb(j)都变成了bbb(20)。(tmp这个数组元素总个数为21)...4.也就是说:bbb(j)中的j终于能与外部定义的j"有那么一点关联"了....但只能接收j的最后值,即j=20这个量.5.于是我就想到:attachEvent(事件,函数)这一函数会不会是在for语句执行完后它才会执行呢!!!如果是这样,还有什么办法能做到:tmp[0]-->bbb(0)****tmp[1]-->bbb(1)......各位大虾,帮帮忙呀!

时间: 2024-11-09 00:18:47

怎么这里的js变量传递不了的相关文章

js变量以及其作用域详解

一.变量的类型  Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量.例如: i=100;//Number类型  i="variable";//String类型  i={x:4};//Object类型  i=[1,2,3];//Array类型 JS的这种特性虽然让我们的编码更加灵活,但也带来了一个弊端,不利于Debug,编译器的弱检测让我们维护冗长的代码时相当痛苦

js变量以及其作用域详解_javascript技巧

一.变量的类型 Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量.例如: 复制代码 代码如下: i=100;//Number类型 i="variable";//String类型 i={x:4};//Object类型 i=[1,2,3];//Array类型 JS的这种特性虽然让我们的编码更加灵活,但也带来了一个弊端,不利于Debug,编译器的弱检测让我们维护冗长的

js 值传递问题 在线急等~

问题描述 js 值传递问题 在线急等~ <script> var searchService, markers = []; var citylocation,map,marker = null; var init = function() { var center = new qq.maps.LatLng(31.840996,117.252055); var map = new qq.maps.Map(document.getElementById('container'), { center

js变量、作用域及内存详解_基础知识

基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 如果赋值的是引用类型的值,则必须在堆内存中为这个值分配空间.由于这种值的大小不固定(对象有很多属性和方法),因此不能把他们保存到栈内存中.但内存地址大小是固定的,因此可以将内存地址保存在栈内存中. <script type="

js变量作用域及可访问性的探讨

js|变量|访问 每一种语言都有变量的概念,变量是用来存储信息的一个元素.比如下面这个函数:  1function Student(name,age,from) 2{ 3 this.name = name; 4 this.age = age; 5 this.from = from; 6 this.ToString = function() 7 { 8  return "my information is name: "+this.name+",age : "+thi

awk调用shell并将变量传递给shell awk与shell之间的变量传递

 在Shell脚本中调用awk是非常自然和简单,本文我们来看看awk调用shell并将变量传递给shell,awk中使用shell中的变量,awk向shell变量传递值     在Shell脚本中调用awk是非常自然和简单的,如果需要调用shell脚本/命令,则需要使用system()函数,如果需要将变量传递给被调用的shell,则写为 system("sh my.sh " $var) 注意第二个引号前有一个空格. awk调用shell,并将变量传递给shell,看下面的演示,就一下明

twig里使用js变量的方法_php实例

本文实例讲述了twig里使用js变量的方法的方法.分享给大家供大家参考,具体如下: 先看一段代码 <script type="text/javascript"> jQuery(document).ready(function(){ jQuery(#my_input).change(function(){ var value = jQuery(#my_input).val(); jQuery.ajax({ url: {{ path('ParteAccidentes_ajax'

利用RegisterStartupScript执行js怎么传递在代码中数组 js中又该如何接

问题描述 在代码中有数组需要传递给js怎么传递js中如何接js中需要弹出一窗口又如何把数组传递给该窗口 解决方案 解决方案二:可以通过showModalDialog的第二个参数来传入参数,也可以通过url来传递.

NGINX和PHP之间的环境变量传递

昨天遇到的,想将IP访问转换成域名访问.则NGINX需要将相关的变量转换后传递给PHP. 网上有一系统的方法: 前面讲过该不该把信息写在服务器配置文件里?.通过php扩展hidef来define常量,这里介绍一下如何在nginx中设置$_SERVER变量值? 1.通过nginx的fastcgi_param来设置 在nginx配置文件中,可以在nginx总体的配置文件nginx.conf中,也可以在单独的网站配置环境中进行设置,如:www.test.com.conf 在配置环境server段loc