在全局中定义了一个变量,我想在局部中给这个变量赋值,怎样也能改变这个全局变量的值
varInputLength=InputBlur.length;console.log(InputLength);vardiv=document.getElementBy...
var InputLength=InputBlur.length;
console.log( InputLength);
var div=document.getElementById("divid");
for(var i=0;i<InputLength;i++){
InputBlur[i].onblur=function(){
console.log("顶部:"+InputLength);
InputLength=InputBlur.length;//InputBulr.length已经发生了变化与全局中的不等
就是说,把function中的InputBlur.length的值赋给全局的InputLength 展开
console.log( InputLength);
var div=document.getElementById("divid");
for(var i=0;i<InputLength;i++){
InputBlur[i].onblur=function(){
console.log("顶部:"+InputLength);
InputLength=InputBlur.length;//InputBulr.length已经发生了变化与全局中的不等
就是说,把function中的InputBlur.length的值赋给全局的InputLength 展开
展开全部
首先我感觉你的代码写的就有问题,为什么一开始赋值了,下面的循环里面还要赋值;其次循环里面怎么能够进行单纯地赋值,应该是压栈才对;最后我想知道你的“InputLength
”到底是变量还是数组,要是变量的话,你写的差不多没错了,但是赋值之后要立马写方法,不然你的值在下次赋值的时候不就被覆盖了吗,要是是数组的话,要进行压栈的方法,就不是=就行的了,开头的定义也不对,应该是var InputLength=[]
”到底是变量还是数组,要是变量的话,你写的差不多没错了,但是赋值之后要立马写方法,不然你的值在下次赋值的时候不就被覆盖了吗,要是是数组的话,要进行压栈的方法,就不是=就行的了,开头的定义也不对,应该是var InputLength=[]
更多追问追答
追问
InputBlur.length在onblur发生的时候会增加,但是我也需要全局的InputBlur.length跟着增加。
追答
首先我理一下思路,你的 InputLength 是你定义的全局变量,InputBlur.length 是实际的长度,系统定义的对吧,然后我们假设一开始定义的时候 InputBlur.length = 3,并且赋值给了 InputLength ,那么 InputLength = 3,for循环就会执行3次(这个在程序开始运行的时候就定义完了3次,你在循环里面再给 InputLength 赋多少值都没用了),循环每一次,都会把 InputBlur.length 的值赋值给 InputLength(因为你在外面定义的全局变量,所以它永远就是全局变量,不管在什么地方进行赋值都是) ,你可以在循环里面赋值完成之后打印(console.log),会出现3次结果,因为循环了3次,但是当你在外面调用这个 InputLength 的时候,他就是第三次的值了,因为前两次的值都被后一次的赋值给覆盖了
2020-11-09 · MySQL开源数据库领先者
关注
展开全部
全局变量的修改会保存在两处:
数据⽬录下的 mysqld-auto.cnf持久化信息以 json 格式保存,metadata 记录了这次修改的用户及时间信息。文件中还区分了变量的类型:mysql_server(动态变量)和 mysql_server_static_options(只读变量);
在数据库启动时,会首先读取其他配置⽂件,最后才读取 mysqld-auto.cnf 文件。不建议⼿动修改 mysqld-auto.cnf ⽂件,其可能导致数据库在启动过程中因解析错误⽽失败。如果出现这种情况,可⼿动删除 mysqld-auto.cnf ⽂件或设置 persisted_globals_load 为 off 来避免该⽂件的加载。
2. 表 performance_schema.persisted_variable
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询