Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在小部件外部调用变量_Javascript_Jquery_Html_Blogger - Fatal编程技术网

Javascript 如何在小部件外部调用变量

Javascript 如何在小部件外部调用变量,javascript,jquery,html,blogger,Javascript,Jquery,Html,Blogger,您好,我有一个带有javascript代码的html小部件和一个名为snapAuthor的变量,但是当我调用该变量时,控制台告诉我它没有找到它,这是工具代码: <b:widget id='LinkList7' locked='false' title='Joker Template' type='LinkList' visible='true'> <b:includable id='AUTH'><b:if cond='data:widget.instanceId =

您好,我有一个带有javascript代码的html小部件和一个名为
snapAuthor
的变量,但是当我调用该变量时,控制台告诉我它没有找到它,这是工具代码:

<b:widget id='LinkList7' locked='false' title='Joker Template' type='LinkList' visible='true'>
<b:includable id='AUTH'><b:if cond='data:widget.instanceId == &quot;LinkList500&quot;'><b:tag name='script' type='text/javascript'><b:loop values='data:links' var='link'>AuthorsInfo[&#39;<data:link.name/>&#39;]=&#39;<data:link.target.jsEscaped/>&#39;;</b:loop></b:tag><b:else/>
<b:tag name='script' type='text/javascript'>
(function(){var snapAuthor=AuthorsInfo.filter(function(a){return a.name===&#39;<data:title/>&#39;})[0];


if(snapAuthor!==undefined){snapAuthor.provided=true;

<b:loop values='data:links' var='link'>
<b:if cond='data:link.name contains &quot;-ad&quot;'>
snapAuthor[&#39;<data:link.name/>&#39;]=&#39;<data:link.target.jsEscaped/>&#39;;
<b:else/>
<b:switch var='data:link.name'>
<b:case value='rank'/>snapAuthor.rank=&#39;<data:link.target.escaped/>&#39;;
<b:case value='about'/>snapAuthor.about=&#39;<data:link.target.escaped/>&#39;;
<b:default/>snapAuthor.links[&#39;<data:link.name/>&#39;]=&#39;<data:link.target/>&#39;;
</b:switch></b:if></b:loop>}})();</b:tag></b:if>
<b:tag name='script' type='text/javascript'>
console.log(snapAuthor);
</b:tag>
</b:includable>
</b:widget>

AuthorsInfo[';';]='';
(function(){var snapAuthor=AuthorsInfo.filter(function(a){返回a.name==';';})[0];
if(snapAuthor!==未定义){snapAuthor.provided=true;
snapAuthor[';';]=';';;
snapAuthor.rank=&39;&39;;
snapAuthor.about=';';;
snapAuthor.links[';';]=';';;
}})();
console.log(snapAuthor);
请注意,我想从页面上的其他地方调用变量,但控制台告诉我它没有找到它…

在代码中使用
(function(){})(
)可以防止变量在其范围之外可见

试试这个


AuthorsInfo['']='';
var snapAuthor=AuthorsInfo.filter(函数(a){returna.name==''})[0];
if(snapAuthor!==未定义){snapAuthor.provided=true;
snapAuthor['']='';
snapAuthor.rank='';
snapAuthor.about='';
snapAuthor.links['']='';
}
console.log(snapAuthor);

但如何使变量在其范围之外可见?无法做到这一点,函数变量以函数执行开始和结束。