찾다

 >  Q&A  >  본문

javascript 变量问题请教?

js中的代码如下:

$('#submit').click(function postPayInfo() {
        orderID = $('#payQrcode').attr('value');        console.log(orderID);   //位置A
        console.log(createLink('weipay', 'finishpay',orderID));  //位置B
        paystatus = $.ajax({url:createLink('weipay', 'finishpay',orderID),async:false});
        alert(paystatus);
    });

console.log 结果:

1.png

其中第二行是createLink的返回值。

请问一下,为什么位置A可以打印出orderID, 然而位置B的orderID却是undefine. 我记得js中函数内部是可以访问函数外部的变量的呢。 这里 位置B内部要怎么样才能访问到orderID呢? 感觉和回调函数的变量作用域有关系。

望不吝赐教,多谢!

素颜素颜2834일 전978

모든 응답(2)나는 대답할 것이다

  • 数据分析师

    数据分析师2017-10-01 00:27:22

    JavaScript 변수에 대해 물어봐도 될까요? -PHP 중국어 사이트 Q&A-자바스크립트 변수 질문이요? -PHP 중국어 홈페이지 Q&A

    꼭 보고 배워보세요.

    회신하다
    0
  • 迷茫

    迷茫2017-02-22 09:37:01

    js中函数内部是可以访问函数外部的变量

    在我的理解上,访问的需要是全局变量或者是外部的函数return出来的

    createLink这个函数从你提供的js代码中无法看出是什么

    位置B内部要怎么样才能访问到orderID呢

    这个问题是传参问题吧,你直接在createLink这个函数console.log下orderId这个参数,看有没有传进去

    회신하다
    0
  • 취소회신하다