検索

ホームページ  >  に質問  >  本文

javascript - js 関数に関するいくつかの小さな問題を解決する

jsの関数名は関数オブジェクトへのポインタなのでメモリを参照しているのでしょうか?
`

リーリー

` では、手動で破壊するにはどうすればよいでしょうか?ブラウザをリサイクルする前にグローバル変数を閉じる必要がありますか?ありがとう###

为情所困为情所困2736日前524

全員に返信(5)返信します

  • 迷茫

    迷茫2017-05-19 10:28:59

    最初のvar a会在stack里面开一块空间,然后你将他赋给一个function,是一个引用类型,于是又在heap里面又申请一块空间存放function,此时,stack里面的a存放的是functionのアドレス

    その理由は以下の通りですb赋值给a,是将stack里面a指向的heap里面function的地址赋给b,所以这就是为什么后来a指向了null,但是b仍然指向之前heap里面function

    どうやって破壊するの? b也设置为null または他の値を変更するだけです。したがって、この種の変数にはグローバル変数を書かずに、ローカル変数を書くようにしてください。

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:28:59

    それはメモリへの参照ですか? この質問は少し広義すぎます。データはメモリに保存されているので、メモリを参照するのは自然なことです。しかし、メモリを参照するだけでは不十分です。データを保存するためのものであり、データ間の関係を反映することはできません。そのため、
    メモリを直接参照するわけではありません。途中に隠れた処理が存在します。具体的な詳細はわかりませんが、レベルが低すぎます
    さらに、リサイクルには 2 つの方法があります:

    リーリー リーリー

    通常は方法 1 を使用してください。オーバーフローの心配はありません。データが一定量に達したときなど、さまざまなタイミングで自動リサイクルがトリガーされます。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:28:59

    リーリー

    返事
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:28:59

    js は delete を使用して手動で変数をリサイクルできます

    返事
    0
  • 黄舟

    黄舟2017-05-19 10:28:59

    ガベージ コレクション メカニズムについて:
    IE の古いバージョンでは、DOM は COM オブジェクトの形式であり、循環参照がある場合は参照カウントを使用してクリアされます。メモリを解放する機会はありません。
    標準ブラウザでは、手動で参照を解放し、null に設定するだけでメモリを解放できます。

    参照が逆参照されていない場合、メモリは実行環境が終了するまで解放されず、グローバル変数オブジェクトはグローバル実行環境が終了するまで解放されません。つまり、ブラウザが閉じるまで解放されません。 。

    返事
    0
  • キャンセル返事