您的位置首页百科问答

关于javascript里面形式参数与实际参数不同名的问题

关于javascript里面形式参数与实际参数不同名的问题

首先,你讲的第一条和第二条是绝对不会的.可能是代码别处有问题你没发现.

函数定义时参数对应的是函数作用域内.

调用的时候参数名是对应的调用域.

所以,定义的时候函数内要引用定义处的参数名.

调用的时候,传的参数的变量名要对应调用域的变量

没代码不能实际分析,以后你会明白的.

参数undefined不一定是没有传,也可能是传之前没有定义.

3.标签内联的事件响应不必传参(一般只传this和event)。传其它参数是没有意义的.能传到的都是全局变量,全局变量直接在函数内都可以引用.

onclick="func2(a,b)",然后再func2(a,b)定义成setInterval("func1(a,b)",5000);

你这里func2传的参数a.b完全是没有意义的.setInterval调用的时候a和b是直接从全局环境里取的.

如果全局没有定义a,b就会报错.如果想从setInterval语句所在环境里提取变量,可以这样写

function b(a,b){

setInterval(function(){alert(a,b)},5000)

}

这里给setInterval传了个匿名函数,其实是和传函数道理是一样的.

function b(a,b){

setInterval(cf,5000) //注意,只传一个函数名,不加引号

function cf(){ //这里定义函数不用传参

alert(a,b) //这里a,b引用到上级函数作用域

}

}

xml异步读取文件要在服务器运行环境下测试。出于安全考虑,一般浏览器都对跨域访问有种种限制.

你要懂你写的脚本为什么出错,就要学会一句一句分析。这个参数哪里来的,为什么会传到这里?为什么换种写法就错了,两种写法实质的差别在哪里?