ドメイン間でデータが返されるのにコールバック関数が実行されない理由の1つ


会社のプロジェクトの問題で、ドメイン間の状況が多い.セキュリティの問題も考慮し、ドメイン間で解決する必要があります.そこから取捨選択するしかない.
今日発見された問題は,フロントエンドがバックグラウンドから返されるCALLBACK関数を取得したが,どうしても実行しないことである.これは私を急いで、前にもドメイン間リクエストを書いたことがあります.同じように書かれた関数を呼び出すと、実行できない関数が実行できます.返す内容を何度も比べても間違いありません.最後に気づいたのはコールバック関数を
$(function(){
//                 
function callback(res)//            
{

}

});

コールバック関数を$(function(){})の外に出して実行できます.では、なぜこのような状況が発生したのでしょうか.まず次のコードを実行してください.
$(function(){

    function test()
    {   
        console.log('                ');

    }

})
test();

上のコードはエラーを示します.test()関数が見つかりません.test()関数は匿名関数の内部メンバーメソッドであるため、同じJSONPドメイン間リクエストでも、リクエスト後に返されるコールバック関数は上のtest()に相当します.あなたのtestが匿名関数の内部に定義されている場合.アクセスできません.また、ブラウザはこのコールバック関数が見つからないことを示すことはありません.
このような低級な誤りの原因は主に自分がよく勉強していないせいで、一般的にすべての関数を匿名関数の内部に書くことが多い.勉強すればするほど雑になり、考えることが少なくなり、こんなに長く書いてもJSや他のバックグラウンド言語が通じないことに気づかなかった.メソッドにメソッドを定義できます.ふふ...歩く道はまだ長いので、今から方向を明確にして先端に向かいます.JS側の専門書はまだ読んでいません.暇があれば勉強しなければならない.JSはハイエンドの言語です.はい、ハイエンドです.私から見れば.
この内部関数は閉パッケージの内容を思い出させます.うん.次は閉包というものを記録しましょう.