将变量从一个函数传递给另一个函数

时间:2015-08-11 22:22:08

标签: javascript jquery

如何传递我的变量" fullname"在我的下一个功能?

第一个功能:

function chatWith(chatuser,fullname) {    
    createChatBox(fullname);     
    createChatBox(chatuser);      
    $("#chatbox_"+chatuser+" .chatboxtextarea").focus();    
}

第二个功能,我想抓住"全名"变量:

function createChatBox(chatboxtitle,minimizeChatBox) {   
    var fname= fullname;    
}

2 个答案:

答案 0 :(得分:1)

你的功能

createChatBox(fullname);

需要2个参数:chatboxtitle和minimizeChatBox。

现在因为您调用了这样的函数:

var fname= chatboxtitle;

在您的函数中 fullname 将作为第一个参数 chatboxtitle

{{1}}

像@showdev提到的那样,您应该read about Functions on MDNsee some examples at w3schools

答案 1 :(得分:1)

当您学习面向对象编程时,您需要熟悉“范围”的概念和概念。基本上,你的名字是wenhenster,让我们说你住在纽约市。现在,如果有人想打电话给你,他们必须知道你是wenhenster。你是纽约市的一员。但是,让我们说另一个wenhenster住在洛杉矶。除非你定义住在哪里,否则任何人都应该知道你是wenhenster哪个。你住在纽约。同样的概念适用于OOP。如果你有:

function new_york(){

}

我在这个函数中定义了你的名字:

function new_york(){
var wenhenster = "one cool person who lives in New York";
}

Javascript知道wenhenster函数中有new_york。如果您有另一个标题为los_angeles的函数:

function los_angeles(){

}

您尝试在wenhenster函数中使用los_angeles

function los_angeles(){
wenhenster += ", but now lives in Los Angeles";
}

Javascript不知道你在谈论什么,因为在los_angeles内没有任何定义或传递给它。您可以通过至少两种不同的方式来解决这个问题:定义可以在每个函数中使用的“全局”wenhenster,或者可以将wenhenster变量从函数传递给函数。

第一种方法:

var wenhenster = "one cool person";
function new_york(){
wenhenster += " lives in New York";
}
function los_angeles(){
wenhenster += ", but now lives in Los Angeles";
}
new_york();
los_angeles();
alert(wenhenster); //to view the result

您的结果将是:

"one cool person lives in New York, but now lives in Los Angeles"

http://jsfiddle.net/oppe5b05/

第二种方法:

function new_york(){
var wenhenster = "one cool person lives in New York";
wenhenster = los_angeles(wenhenster);
alert(wenhenster); //to view the result
}
function los_angeles(name){
name += ", but now lives in Los Angeles";
return name;
}
new_york();

您的结果将是:

"one cool person lives in New York, but now lives in Los Angeles"

http://jsfiddle.net/fewh5f2d/

希望有所帮助。它可能是一个抽象的例子,但你练的越多就越容易。