在JS中怎么获取另外函数里面的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JS中怎么获取另外函数里面的变量相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
var d=document;
var i=0;
function fn1(x)
i++;
var objId=d.getElementById(x)


function fn2(y)
y.innerHTML="" //这里显示被点击元素的id和被点击次数,即i和objId。

</script>

</head>

<body >
<div onclick="fn1('d1')" class="dd" id="d1">div1</div>
<div onclick="fn2(this)" class="dd" id="d2">div2</div>
</body>
</html>
我想在fn2()函数里面调用fn1()的变量,例子如上,如何实现?
我这个例子是需要获取两个变量,即i和objId。

根据函数作用域链,变量是一层一层向作用域链外部逐层寻找距离最近的定义。所以,在函数内部,是可以访问到外部的,也就是上级的变量。但是,在函数外部,是无法访问到函数内部的变量的。如果你想访问,可以通过,闭包,定义全局变量等方法来获取。 参考技术A 在js中可以通过以下程序实现这个功能:
var s=0;
function sex(x)
x==1?s="男":s="女";

function user()
alert(s);//想根据sex函数中的判断打印出是“男”或者“女”;

调用sex(x)函数,获取变量x所代表的值。
参考技术B 你可以在fn1()中返回其中的变量,代码可以这么改:
function fn1(x)
i++;
var objId=d.getElementById(x);
return objId;

可以这么调用fn2(fn1('d1'))

请教如何在一个js文件中调用另外一个js文件的变量

从一个JS中调用另一个JS文件中的变量常规来说不不可能的,不过可以在页面上设置一个全局变量,这样没个JS都可以获取到这个全局变量。如果你这类的变量在很多页面都会用到,那么你可以定义个类文件专门来存储这类似的变量,然后需要使用的时候new一下就行了 参考技术A 设置全局变量,或者给dom绑定一个属性,js同时调用和更改那个属性,确保数据源一样。 参考技术B 引入要调用的js文件就可以调用了,比如你在index.html中定义了var a=1;那么你这个页面中加载另一个js(common.js),那么common.js中就直接使用a变量 参考技术C 取消
首页
编程
手机
软件
硬件
安卓
苹果
手游
教程
平面
服务器
首页 > 网络编程 > JavaScript > javascript技巧 > js 引入(调用)文件
在js文件中引入(调用)另一个js文件的三种方法
2020-09-11 09:22:06 作者:NEMO

这篇文章主要介绍了在js文件中引入(调用)另一个js文件的三种方法,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
比如我写了一个JS文件,这个文件需要调用另外一个JS文件,该如何实现呢?下面就总结下在js文件中引入另一个js文件的实现

方法一,在调用文件的顶部加入下例代码

function addScript(url)
document.write("<script language=javascript src="+url+"></script>");

注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进来。

方法二,在js中写如下代码:

function addScript(url)
var script = document.createElement('script');
script.setAttribute('type','text/javascript');
script.setAttribute('src',url);
document.getElementsByTagName('head')[0].appendChild(script);

利用document.createElement(”script”)生成了一个script的标签,设置其 type属性为text/javascript。

方法三,利用es6中export和import实现模块化

一个js文件代表一个js模块 。ES6引入外部模块分两种情况:

1.导入外部的变量或函数等;

import firstName, lastName from './test';
2.导入外部的模块,并立即执行

import './test'
//执行test.js,但不导入任何变量
以上就是在js文件中引入(调用)另一个js文件的三种方法的详细内容,更多关于js文件引入另一个js文件的资料请关注脚本之家其它相关文章!

以上是关于在JS中怎么获取另外函数里面的变量的主要内容,如果未能解决你的问题,请参考以下文章

js里的返回值怎么获取到

jsp页面函数中如何获取sevlet传过来的List

怎样区分JS的函数中参数带引号与不带引号?

js如何使用函数中的变量

html怎么调用另外一个页面的内容?

js参数是一个函数怎么做?