首页 > 开发 > JS > 正文

node.js中传参问题

2017-09-05 05:51:32  来源:网友分享

http.get(url,function(res){    var html= ''    res.on('data',function(data){   //响应接收到数据触发        html += data    })    res.on('end',function(){        //响应结束触发        var courseData = filterChapters(html)        printCourseInfo(courseData)    })}).on('error',function(){    console.log('获取课堂资料出错')})

问题:在函数filterChapter(html)中html作为形参,但我并没有在他所处的匿名函数中传入实参过来,但是在node.js下运行确实有用,并且必须和上面的的变量html要同名才有用,我不理解,有大神来解释一下吗?谢了。

解决方案

请输入代码> js没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。

 res.on('end',function(){        //响应结束触发    var courseData = filterChapters(html) //这里的html是在外层函数声明的!!!    printCourseInfo(courseData)})