如何将JavaScript变量值传递给另一个JavaScript函数?

如何将JavaScript变量值传递给另一个JavaScript函数?

问题描述:

我需要JavaScript变量值传递给另一个JavaScript函数如何将JavaScript变量值传递给另一个JavaScript函数?

$("#myTabs form").on('submit', function (e) { 
    e.preventDefault(); 
    var linkHref = $(this).parents('.tab-pane').attr('id'); 
    $('#myLinks li a').removeClass('active'); 
    $('#myLinks li') 
    .find('a[href="#' + linkHref + '"]') 
    .parent() 
    .next() 
    .find('a') 
    .tab('show') 
    .addClass('active') 
    .attr('data-toggle', 'tab'); 

    $('a.nav-link').not('.active').css('pointer-events', 'none'); 
    var SAPno = linkHref; 
}); 

$('a.nav-link').not('.active').css('pointer-events', 'none'); 

对于实施例var SAPno值需要将传递给另一个JavaScript函数

function GetInfo() { 
    var ID = SAPno; 
} 

是否有可能..

+1

是可以的。做另一个功能(SAPno); –

+0

使用参数定义函数并在调用函数时将变量作为参数传递给函数。 – tobiv

要传递一个变量到另一个函数,使用函数参数。

更改GetInfo函数接受一个参数:

function GetInfo(SAPno) { 
    var id = SAPno; 
} 

并与SAPno参数调用它(即,SAPno定义的submit函数内):

// calling context 
GetInfo(SAPno); 

MDN docs for function parameters

+0

@SurenSrapyan我会假定'SAPno'是在调用上下文(即'submit'函数)中定义的。如果它作为参数传递,它不必是全局作用域。 –

+0

只是澄清:'GetInfo(SAPno)'中的'SAPno'是一个参数,而不是一个参数。 –

,你可以声明它的功能范围

var SAPno; 

$("#myTabs form").on('submit', function (e) { 
    SAPno = linkHref; 
}); 

之外,但你必须确保地方都声明它也是一种可供的getInfo()函数

var SAPno; 

function GetInfo() { 
    var ID = SAPno; 
} 

参考对此了解scope

另一种可行的方法是在全球环境中声明它(不是一个好的做法),但它会工作。

$("#myTabs form").on('submit', function (e) { 
    window.SAPno = linkHref; 
}); 

function GetInfo() { 
    var ID = window.SAPno; 
} 

其在浏览器的情况下,全局对象是窗口...

+3

还应该注意的是,用你自己的变量来污染'window' global是不好的做法。 –

当然这成为可能:

,如果你想SAPno作为参数

function GetInfo(SAPno) { 
    var id = SAPno; 
    somefunction(id); 
} 

,如果你想要SAPno作为功能

function GetInfo(SAPno) { 
    var id = SAPno; 
    eval(id); // eval is a built-in function that excute javascript from a normal string 
}