使用JQuery访问另一个文件中的一个文件的js变量

时间:2017-12-08 04:15:26

标签: javascript jquery

我有2个js文件:1.js和2.js.
在1.js我有一个变量

var test ='Hello';

我试图访问2.js中的变量

alert(test);

示例代码:
1.js:

$(document).ready(function () {
    var test = 'Hello';
});

2.js:

 $(function () {
       function getData(){
            alert(test);
       }
   }); 

在js文件的aspx页面顺序中:

<script type="text/javascript" src="js/1.js"></script>      
<script type="text/javascript" src="js/2.js?"></script> 

我知道这个问题在很多次之前被问过,但没有一个答案似乎对我有用。

2 个答案:

答案 0 :(得分:1)

确保您的var myApp = angular.module('myApp',[]); myApp.controller('MyCtrl',function($scope, $timeout) { $scope.rating=5; $scope.rating1=4; $scope.rateColor = function(rating) { if(rating==5) return "background-color:"+"red"; else return "background-color:"+"green" } });不在函数内,并且您的文件以正确的顺序加载。 在您的第一个文件中使用类似

的内容
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<h2 style="{{rateColor(rating)}}">
{{rating}}
</h2>
 <h3 style="{{rateColor(rating1)}}">
{{rating1}}
</h3>
</div>

在你的var test中使用

<script type="text/javascript">
  var test = "myVar"
</script>
// Now here include your js file too JS file 
// Or set in window scope like window.test="myVar";

全局范围内的变量可以从所有javascript文件访问。 你的第一个js文件

这是另一种方式。

JS file

你的第二个js文件

$(function() {
  alert(test);
  // alert(window.test);
});

在html页面添加

//first.js file don't put variable inside any function here.
var globalVariable={
   test: 'myVar'
};

More from here

答案 1 :(得分:0)

您可以使用sessionStorage存储变量值

$(document).ready(function () {
  sessionStorage.setItem('test ', 'Hello');
});

在下一个文件中使用

检索它
$(function () {
       function getData(){
         var data = sessionStorage.getItem('test');
            alert(data );
       }
   });

请注意,文件1.js需要在2.js

之前加载