JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
57: デフォルトの名無しさん [sage] 2016/02/13(土) 01:31:30.78 ID:rQhUa0HJ >>54,56 既に指摘されているとおりだけど、 > currentPos = {lat: pos.coords.latitude, lng: pos.coords.longitude}; は > currentPos = new Object({lat: a, lng: b}); > というlatとlngを持ったLatLngではない別のObjectが生成された、ってことなのかな? これで理解はあってます。 > currentPos = {lat: a, lng: b}; > って構文は > currentPos変数が保持してるLatLngオブジェクトのlatにaを代入、lngにbを代入する、 > って思ってたんだけど違うのかなぁ? これは違う。分割代入の構文はまた別にある。 この構文だと新しく lat と lng を持ったオブジェクトが作られる。currentPosに入っていた物は捨てられる。 (正確に言うと参照が切れる。全てから参照が切れていればいつかGCされる) 型は無いようで有るというか、C的に言えば全部ただのオブジェクトでしかないのだけれど、 new するとコンストラクタが呼ばれ、結果的に初期値等が設定され、 さらにプロトタイプも設定される。 また、getter/setterやProxyとかで色々細かいことも出来てしまうので、 API で new しろと言われている以上 new しないと駄目。 (Webの場合はURLで引っ張っているので、対象が書き換えられたらいきなり更新される。 そのリンクだと多分バージョン固定だからこの点は大丈夫だと思うけど、 APIはAPI通り使わないと危険。) > 最近のPCやスマフォはメモリ数GBとかあるしもう忘れることにしますw GCして欲しいのならnull代入するなりdeleteするなり関数で囲って関数ごと捨てるなりするしかないけど、 正直、今回のような場合の1個や2個はどうでもいいと思う。 > CSSとjavascript上のひも付けにも苦労してます(汗 基本的にclassを使えばいい。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/57
62: デフォルトの名無しさん [sage] 2016/02/21(日) 09:27:40.55 ID:lDbEdv1b >>57 >>GCして欲しいのならnull代入するなりdeleteするなり関数で囲って関数ごと捨てるなりするしかないけど それらでCGされる保証はない エンジンは一般的な場合に最適化されてる 一般的でないことはしないのが基本 http://mevius.5ch.net/test/read.cgi/tech/1449440793/62
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
2.037s*