javascript - 如何在一个 JavaScript 中访问另一个 JavaScript 中的变量?

标签 javascript jquery

大家好,这是我的两个 javascript 代码。我想将第一个 javascript 中定义的变量访问到另一个脚本中。

1)

<script>
$(document).ready(function() 
{
    $('pre.codeguru').each(function() 
    {
            var pre = this;
            var form = $('form[name=sample]').clone();
            $(form).removeAttr('name');
            $(form).removeClass('hidden');
            $($(form).find('textarea')[0]).val($(pre).text());
            var id = $(pre).attr('id');
            $(form).find('div textarea[name=code]').first().attr('id', id);
        $(pre).replaceWith(form);
        });
        var editors = [];
        $('textarea[name=codeguru]').each(function() 
        {
            var editor = CodeMirror.fromTextArea(this, 
            {
                lineNumbers: true,
                matchBrackets: true,
                mode: "application/x-httpd-perl",
                tabMode: "shift"
             });
                editors.push(editor);
        });

});
</script>

2)

<script type="text/javascript">

    function execute() {
            p5pkg.CORE.print = function(List__) {
                var i;
                for (i = 0; i < List__.length; i++) {
                  document.getElementById('print-result').value += p5str(List__[i])
                }
                return true;
            };
            p5pkg["main"]["v_^O"] = "browser";
            p5pkg["main"]["Hash_INC"]["Perlito5/strict.pm"] = "Perlito5/strict.pm";
            p5pkg["main"]["Hash_INC"]["Perlito5/warnings.pm"] = "Perlito5/warnings.pm";
            var source = editor.getValue();
            alert(source);
            var pos = 0;
            var ast;
            var match;
            document.getElementById('print-result').value = "";
            try {
                var start = new Date().getTime();
                var js_source = p5pkg["Perlito5"].compile_p5_to_js([source]);
                var end = new Date().getTime();
                var time = end - start;
                // run
                start = new Date().getTime();
                eval(js_source);
                end = new Date().getTime();
                time = end - start;
            }
            catch(err) {
                //document.getElementById('log-result').value += "Error:\n";
                  }
        }
    </script>

现在我的问题是我想访问第一个 javascript 中定义的编辑器

var editors = [];
        $('textarea[name=codeguru]').each(function() 
        {
            var editor = CodeMirror.fromTextArea(this, 
            {
                lineNumbers: true,
                matchBrackets: true,
                mode: "application/x-httpd-perl",
                tabMode: "shift"
             });
                editors.push(editor);
        });

在第二个 JavaScript 中。 任何人都有这个问题的答案,请帮助我这样做

最佳答案

如果在定义变量时省略 var,它们将是全局可访问的。

所以

pre = this;

而不是

var pre = this;

可以从每个功能中进行预访问。

关于javascript - 如何在一个 JavaScript 中访问另一个 JavaScript 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543012/

相关文章:

javascript - 如何在 node.js 中的文件的每一行末尾添加文本?

javascript - 获取带有类的下一个元素(同时省略其他元素)

javascript - 在网格 extjs4 中转义 html (href)

javascript - 将数据永久存储在变量中(javascript)

javascript - ng-checked 单选按钮

jquery - 在 Laravel 中使用 AJAX 提交数据时在 URL 中传递变量

javascript - 在 ReactJS 中解构数组

javascript - Django : Is it a good idea to generate JS dynamically?

javascript - jQuery - 选择 ID 包含特定字符串且属于特定类的 div

javascript - 单击按钮时,我希望从弹出页面到父页面显示多个选定的复选框行