gpt4 book ai didi

javascript - 从外部 javascript 获取变量以在主体中的脚本 block 内执行

转载 作者:行者123 更新时间:2023-11-30 17:24:49 24 4
gpt4 key购买 nike

我有一个外部 javascript 文件,比如说 first.js其中包含一个名为“score”的变量。我想在 <script> 中使用这个变量body 中的标记(仅在变量在 first.js 中完成更新后,换句话说,我还想控制 body 中的 <script> 何时触发,显然,在其中使用“score”)。有什么办法吗?编辑 - - - -基本上我想将这个变量存储到 parse.com 中的数据浏览器中。 .这是我的脚本--

    <script>

function giveit(){

var temp=whatScore();



Parse.initialize("myID", "myJDID");


var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();

gameScore.set("score", temp);

gameScore.save(null, {
success: function(gameScore) {
// Execute any logic that should take place after the object is saved.
alert('New object created with objectId: ' + gameScore.id);
},
error: function(gameScore, error) {
// Execute any logic that should take place if the save fails.
// error is a Parse.Error with an error code and description.
alert('Failed to create new object, with error code: ' + error.message);
}
});



}

</script>

giveit()单击按钮时调用函数。我使用了 onlogin 属性。现在whatScore()first.js 中定义的函数看起来如下:

function whatScore()
{
return score;
}

我将结果存储在 temp 中并在下面的代码中使用了 temp,但它不起作用。在控制台中它说,“whatScore”未定义。我该怎么做才能使 first.js 的 whatScore 函数生效?实际上是在 <script> 里面定义的标签 ??谢谢。

最佳答案

使用这段代码:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
<script src="first.js" type="text/javascript"></script>
</head>
<body><script type="text/javascript">console . log ( { foo : score } );</script></body>
</html>

文件名为:“first.js”内容:

var score = 5;

我进入控制台:

Object { foo: 5 }

确保:

  1. 您的 HTML5/CSS3/JavaScipt 语法有效。
  2. 变量 score 在全局范围内。
  3. 名为“first.js”的文件在您的脚本标记之前加载,变量分数在您使用之前声明和设置。

您还可以使用此代码等待变量:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
</head>
<body>
<script type="text/javascript">
function logScore () { console . log ( { foo : score } ); }
var interval = setInterval ( function ()
{
if ( typeof score !== "undefined" ) // if is declared use variable named: "score" and exit interval
{
logScore ();
clearInterval ( interval );
}
}, 1000 ); // wait one second ...
</script>
<script type="text/javascript">var score = 5; /* score loaded after interval */ </script>
</body>
</html>

更新:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Test</title>
</head>
<body>
<button onclick="giveit ();">Test your function here ...</button>
<script type="text/javascript">
function giveit ()
{
var interval = setInterval ( function ()
{
if ( typeof whatScore === "function" ) // now check if function is declared, use return variable named: "score" and exit interval
{
var temp = whatScore ();
console . log ( { foo : temp } ); // log: Object { foo: 5 }
/* your code here */
clearInterval ( interval );
}
}, 1000 ); // wait one second ...
}
</script>
<script type="text/javascript">
var score = 5; /* set global variable named: "score" - loaded after interval */
function whatScore ()
{
// var score = 5 /* or set local variable named: "score" - loaded after interval */
return score;
}
</script>
</body>
</html>

关于javascript - 从外部 javascript 获取变量以在主体中的脚本 block 内执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com