まず関数の自己呼び出しを知る必要がある 関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - 直接宣言され、呼び出されます。例: (関数 () { console.log("関数"); })(); ブラウザが「 ページが読み込まれた後、この自己呼び出し関数のコードが実行されます。 フォームを使用する (関数 (パラメータ) { })(実際のパラメータ); 知らせ コンストラクタを最初から呼び出す場合は、セミコロンを追加する必要があります。 では、ローカル変数をグローバル変数に変換するにはどうすればよいでしょうか?ローカル変数をウィンドウに渡すだけです (関数 (win) { var num=10;//ローカル変数//js は動的型付け言語です。オブジェクトには属性がないので、クリックするだけです。win.num=num; })(ウィンドウ); console.log(数値); このページにはnumが印刷されます 応用例1——ウィンドウに乱数オブジェクトを割り当てる <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>タイトル</title> <スクリプト> // 自己呼び出し関数を通じて乱数オブジェクトを生成します。自己呼び出し関数の外側で、乱数オブジェクトメソッドを呼び出して乱数を生成します (function (window) { //乱数を生成するコンストラクタ関数 function Random() { } //プロトタイプオブジェクトにメソッドを追加します。Random.prototype.getRandom = function (min,max) { Math.floor(Math.random()*(max-min)+min) を返します。 }; //Random オブジェクトを最上位オブジェクト ウィンドウに公開します--->このオブジェクトは window.Random の外部で直接使用できます。=Random; })(ウィンドウ); //乱数オブジェクトをインスタンス化します。var rm=new Random(); //乱数を生成するメソッドを呼び出す console.log(rm.getRandom(0,5)); //グローバル変数</script> </head> <本文> </本文> </html> 応用例2 - ランダムな位置に小さな四角形を生成する <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <メタ> <title>タイトル</title> <スタイル> 。地図{ 幅: 800ピクセル; 高さ: 600px; 背景色: #CCC; 位置: 相対的; } </スタイル> </head> <本文> <div class="map"></div> <script src="common.js"></script> <スクリプト> //乱数オブジェクトを生成する(関数(ウィンドウ){ 関数ランダム() { } Random.prototype.getRandom=関数(最小値、最大値) { Math.floor(Math.random()*(max-min)+min) を返します。 }; // ローカル オブジェクトをウィンドウのトップレベル オブジェクトに公開すると、グローバル オブジェクトになります。window.Random=new Random(); })(window);//自己呼び出しコンストラクタメソッド、セミコロンを追加する必要があります//小さな正方形のオブジェクトを生成します (function (window) { //console.log(Random.getRandom(0,5)); //セレクター メソッドを使用して要素オブジェクトを取得します var map = document.querySelector(".map"); //食品コンストラクタ関数 Food(width,height,color) { this.width=width||20;//小さな四角形のデフォルトの幅 this.height=height||20;//小さな四角形のデフォルトの高さ //水平座標、垂直座標 this.x=0;//水平座標はランダムに生成されます this.y=0;//垂直座標はランダムに生成されます this.color=color;//小さな四角形の背景色 this.element=document.createElement("div");//小さな四角形の要素 } //小さな四角形の表示効果と位置を初期化します---地図上に表示します Food.prototype.init=function (map) { // 小さな四角形のスタイルを設定します var div=this.element; div.style.position="absolute";//ドキュメントフロー外 div.style.width=this.width+"px"; div.style.height=this.height+"px"; div.style.backgroundColor=この色; //マップに小さな四角形を追加します。map.appendChild(div); これをレンダリングします(マップ); }; //ランダムな位置を生成する Food.prototype.render = function (map) { //水平座標と垂直座標をランダムに生成します var x=Random.getRandom(0,map.offsetWidth/this.width)*this.width; var y=Random.getRandom(0,map.offsetHeight/this.height)*this.height; .x = x; y = y; var div = this.element; div.style.left=this.x+"px"; div.style.top=this.y+"px"; }; //オブジェクトをインスタンス化します var fd = new Food(20,20,"green"); fd.init(マップ); console.log(fd.x+"===="+fd.y); })(ウィンドウ); // 関数リフレッシュ(){ // ウィンドウの場所を再読み込みします。 // } // タイムアウトを設定します(refresh(), 1000); </スクリプト> </本文> </html> これで、JavaScript でローカル変数をグローバル変数に変換する方法についての記事は終了です。JavaScript でローカル変数をグローバル変数に変換する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Ubuntu に MySQL 5.7 をインストールし、データ ストレージ パスを構成する方法
>>: Linux 上の Tomcat で MySQL にデータを挿入するときに中国語の文字化けが発生する問題を解決する
社内の同僚は Nginx ログの標準出力、つまりコンソール経由の処理を必要としているため、まずログを...
質問:最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭...
テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ロ...
目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...
バックアップがあれば、非常に簡単です。最新のバックアップ データを生成し、mysqlbinlog を...
目次先読みと後読みをキャプチャグループと組み合わせる捕獲グループと非捕獲グループ前を向いて、後ろを振...
実験環境• 最小限のインストール済みの CentOS 7.3 仮想マシン• 構成: 1 コア/512...
CocosCreator バージョン 2.3.4ドラゴンボーンアニメーションキールアニメーションを ...
導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...
Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...
最近、Linux を使用してローカルにログインしていたところ、正常にログインできず、次のエラー メッ...
目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...
序文この記事では、DBA がいないチームが参考にできるように、MySQL の一般的な使用に関するヒン...
1. Nginxの同時実行性を最適化する [root@proxy ~]# ab -n 2000 -c...
1. ダウンロードアドレス:参考: http://dev.mysql.com/downloads/m...