lstd.net
当前位置:首页 >> 如何理解 JAvASCript 中作为参数的函数的作用域和 ... >>

如何理解 JAvASCript 中作为参数的函数的作用域和 ...

作用域于参数类型无关,也就是说不管参数是函数还是其他类型,这个参数的作用域只在接收这个参数的函数内有效,如下:<br>function test(callback){<br> if(typeof callback == "function"){<br> callback();<br> }<br><br> //此时这个参数的作用

打个比方:你在自己家里面说的话,只限于你的家人听见,邻居是听不见的,对吧?如果你走到屋外,大声嚷嚷,那么不但你家人能听见,周围的街坊邻居也都能听见.继续往大了说,如果你是国家电视台的一个主播,那么你在电视上说的话,全国人都能听见……这就是作用域.程序结构是分层次的,处在最底层的一个变量(设为a),它就只能在它所在的那个小范围中起作用,其他地方它是无效的;而另一个变量(设为b)所在的层次比a要高,那么b就能在它下属的各个层次中起作用(当然也包括a所在的层次);依此类推,如果一个变量是处在最顶层的(也就是全局变量),那么它的作用域就是整个程序.

一句话可以概括 在函数体外有var就是全局变量,在函数体内没有var会向外面查找,如果没有找到,会在外面定义一个此时就是全部变量.如果在函数体内有var就是局部变量.

函数定义的是形参,调用时传入的参数是真的参数.可以参考我写的代码http://zhidao.baidu.com/question/307853201825306444

作用域:它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的.表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境.Javascript的作用域只有两种:全局作用域和本地作

你可以这样看,整个js的作用域就是一栋大楼,里面有楼道和房间.对于楼道的东西,大家都能用.但是自己家的东西只有自己能用了.东西就是变量,房间和过道就是作用域.

javascript严格的说不是一种语言,只能算一种规范<br>例如<br>funcition add(a,b)<br>{<br> return a+b;<br>}<br>可以理解成一个函数,调用的时候这样var c=add(a,b);<br>也可以理解成一个类,<br>function SimpleRobot(robotName)<br>{<br>

你可以直接传递函数名作为参数,只是不要加括号 function funcOne(str) { alert(str);}// 这里传过来 funcName 为 funcOne, param 为 funcOne 的参数function funcTwo(funcName, param) { // 等于调用 funcOne("hello") funcName(param);}// 调用 funcTwo 函数// 将函数 funcOne 作为参数传递给 funcTwofuncTwo(funcOne, "hello");

传的参数在方法中用得着,需要根据传入的参数实现相关的功能

变量作用域是任何一种程序,都存在的问题!<br>通俗地讲就是一个变量在多大的范围里有效,也就是能够访问!<br>用JS打个比方<br><script type="text/javascript"><br>var a = 'hello';<br>function test(){<br> var b = 'world';<br> alert(a);//将

网站首页 | 网站地图
All rights reserved Powered by www.lstd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com