如何传递我的变量" fullname"在我的下一个功能?
第一个功能:
function chatWith(chatuser,fullname) {
createChatBox(fullname);
createChatBox(chatuser);
$("#chatbox_"+chatuser+" .chatboxtextarea").focus();
}
第二个功能,我想抓住"全名"变量:
function createChatBox(chatboxtitle,minimizeChatBox) {
var fname= fullname;
}
答案 0 :(得分:1)
你的功能
createChatBox(fullname);
需要2个参数:chatboxtitle和minimizeChatBox。
现在因为您调用了这样的函数:
var fname= chatboxtitle;
在您的函数中 fullname 将作为第一个参数 chatboxtitle
{{1}}
像@showdev提到的那样,您应该read about Functions on MDN或see 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"
第二种方法:
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"
希望有所帮助。它可能是一个抽象的例子,但你练的越多就越容易。