javascript:获取函数's变量's在另一个函数中的值
javascript: get a function's variable's value within another function
好吧,所以我在正文中有这个代码:
<input type="text" value="haha" id="full_name"/>
这个代码在脚本中
<script language="javascript" type="text/javascript">
function first(){
var nameContent=document.getElementById('full_name').value;
}
function second() {
first();
y=nameContent;
alert(y);
}
second();
</script>
我想要一个显示元素full_name值的警报,但它似乎不起作用,有人知道为什么吗?:S
nameContent
只存在于first()
函数中,正如您在first()
函数中定义的那样。
为了使其范围更广,在功能之外对其进行定义:
var nameContent;
function first(){
nameContent=document.getElementById('full_name').value;
}
function second() {
first();
y=nameContent; alert(y);
}
second();
一个稍微好一点的方法是return
值,因为全局变量很快就会变得混乱:
function getFullName() {
return document.getElementById('full_name').value;
}
function doStuff() {
var name = getFullName();
alert(name);
}
doStuff();
您的nameContent作用域仅在第一个函数内。这样你永远不会得到它的价值。
var nameContent; // now it's global!
function first(){
nameContent = document.getElementById('full_name').value;
}
function second() {
first();
y=nameContent;
alert(y);
}
second();
您需要在第一个函数中使用return语句。
function first(){
var nameContent = document.getElementById('full_name').value;
return nameContent;
}
然后在你的第二个函数可以是:
function second(){
alert(first());
}
您的nameContent
变量在函数范围内,在函数外不可见,因此如果您想在函数外使用nameContent
,请在<script>
标记内声明它为global
,并在不使用var
关键字的函数内使用,如下所示
<script language="javascript" type="text/javascript">
var nameContent; // In the global scope
function first(){
nameContent=document.getElementById('full_name').value;
}
function second() {
first();
y=nameContent;
alert(y);
}
second();
</script>
在ES5中实现这一点的OOP方法是使用this关键字将该变量变成一个属性。
function first(){
this.nameContent=document.getElementById('full_name').value;
}
function second() {
y=new first();
alert(y.nameContent);
}
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- 多次调用另一个javascript函数中的javascript函数
- 使用JS函数来使用另一个函数的语法?node.js
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 另一个Ajax函数触发的Ajax函数不起作用
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 从另一个函数获得$this值
- 如何记录调用另一个函数的函数的返回值
- 它在另一个函数中嵌套后不会输出文本
- 如何将自动完成的值传递到另一个函数中
- 将一个函数作为参数传递给javascript中的另一个函数
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 从另一个函数延迟解析的返回
- 多次调用promise函数,直到另一个promise函数满足条件