账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于作用域的问题,函数非全局函数的影响?
    24
    0
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    <script>
    function fn1(data) {//比如把fn1函数放入window.load=function(){}的函数里面为什么就不能执行的?是什么原因导致的?就是fn1不是全局函数的话为什么出错了?
        var oUl1 = document.getElementById('ul1');
        var html = '';
        for (var i=0; i<data.length; i++) {
            html += '<li>'+data[i]+'</li>';
        }
        oUl1.innerHTML = html;
    }
    function fn2(data) {
        var oUl2 = document.getElementById('ul2');
        var html = '';
        for (var i=0; i<data.length; i++) {
            html += '<li>'+data[i]+'</li>';
        }
        oUl2.innerHTML = html;
    }
    function fn3(data) {
        var oUl3 = document.getElementById('ul3');
        var html = '';
        for (var i=0; i<data.length; i++) {
            html += '<li>'+data[i]+'</li>';
        }
        oUl3.innerHTML = html;
    }
    </script>
    <script>
    window.onload = function() {
        
        var oBtn1 = document.getElementById('btn1');
        
        var oBtn2 = document.getElementById('btn2');
        
        oBtn1.onclick = function() {
            
            var oScript = document.createElement('script');
            oScript.src = 'getData.php?callback=fn1';
            document.body.appendChild(oScript);
            
        }
        
        var oBtn2 = document.getElementById('btn2');
        
        oBtn2.onclick = function() {
            
            var oScript = document.createElement('script');
            oScript.src = 'getData.php?t=str&callback=fn2';
            document.body.appendChild(oScript);
            
        }
        
        var oBtn3 = document.getElementById('btn3');
        
        oBtn3.onclick = function() {
            
            var oScript = document.createElement('script');
            oScript.src = 'getData.php?callback=fn3';
            document.body.appendChild(oScript);
            
        }
        
    }
    </script>
    </head>
    
    <body>
        <input type="button" id="btn1" value="加载数字" />
        <ul id="ul1"></ul>
        <input type="button" id="btn2" value="加载字母" />
        <ul id="ul2"></ul>
        <input type="button" id="btn3" value="加载字母" />
        <ul id="ul3"></ul>
    </body>
    </html>

    -----------------PHP文件-----------------

    <?php
    $t = isset($_GET['t']) ? $_GET['t'] : 'num';
    $callback = isset($_GET['callback']) ? $_GET['callback'] : 'fn1';
    
    $arr1 = array('111111','22222222','33333333','4444444','555555555555555555555');
    $arr2 = array('aaaaaaaaaaaa','bbbbbbbb','cccccccccccc','ddddddddd','eeeeeeeeeeee');
    
    if ($t == 'num') {
        $data = json_encode($arr1);
    } else {
        $data = json_encode($arr2);
    }
    
    echo $callback.'('.$data.');';
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部