猿问

node.js中传参问题

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要同名才有用,我不理解,有大神来解释一下吗?谢了。

翻翻过去那场雪
浏览 1048回答 1
1回答

梦里花落0921

请输入代码> js没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。 res.on('end',function(){        //响应结束触发    var courseData = filterChapters(html) //这里的html是在外层函数声明的!!!    printCourseInfo(courseData)})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答