JavaScript 4©2ch.net

2014/12/05(金) 12:19:07.19ID:fmzBASgG
( ^ω^) 初学者・迷子・ロリ幼女はこちらで
  _、_
( ,_ノ` ) プロフェッショナルはECMAScript デス 4へ

【前スレ】
JavaScript 3
http://peace.2ch.net/test/read.cgi/tech/1380177260/

【関連スレ】
ECMAScript デス 4
http://peace.2ch.net/test/read.cgi/tech/1325448978/
+ JavaScript の質問用スレッド vol.117 +
http://peace.2ch.net/test/read.cgi/tech/1404146244/
CoffeeScript
http://peace.2ch.net/test/read.cgi/tech/1320949260/
TypeScript part1
http://peace.2ch.net/test/read.cgi/tech/1349187527/
構造化ウェブプログラミング言語Dart2
http://peace.2ch.net/test/read.cgi/tech/1319388343/
Microsoft SkyDrive API
http://peace.2ch.net/test/read.cgi/tech/1385604796/
【MACRO】Google Apps Script 質問スレ【DRIVE】
http://peace.2ch.net/test/read.cgi/tech/1404007623/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
2015/06/02(火) 21:08:24.71ID:ex2Jk34L
>>200
そんなに画面を占領するほど出てこないだろ。
2015/06/02(火) 23:09:26.72ID:tDj3/Qmg
圧縮率が気になる人は var, a, b, c; でも使えばいい
_ が気にならないなら Java でも PHP でも同じように使えばいい
それが誰が見てもコードの意図を理解できるものであると思うのならな
2015/06/03(水) 08:42:27.59ID:tNzh/NJ7
> それが誰が見てもコードの意図を理解できるものであると思うのならな

ん? 馬鹿が見てもわかるコードなんてあると思うのか?
何の知識も持たない奴が、forとか見て、繰り返しだな。なんてわかると思うのか?

知識があるプログラマが見てわかれば十分だろw
2015/06/03(水) 09:13:26.09ID:L99ZSHzZ
>>203←こういう極論振りかざす馬鹿はプロジェクトから最初に外したいねぇ♪
2015/06/03(水) 09:32:01.02ID:HnGZ0ASm
そもそもjQueryの根幹を成していたcssQuery作者はJSに習熟していたから$なんて使わなかったが、
当時JS初心者が浅い知識で無茶苦茶に作ったprototypejsが流行っていてユーザーがそこで$にすっかり慣れてしまっていたから、彼らを取り込もうと図った時に敢えて$を使った。
2015/06/03(水) 09:41:02.46ID:HnGZ0ASm
jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。
実際、query api がなかった当時において、飛び抜けた存在だった。
誰も知らないだろうが、既に消した10年ほど前のブログで俺が日本で最初にjQueryにお墨付きを出したので、変な責任感があって、今や粗大ゴミと化したjQueryを徹底的に駆除しなきゃならないと思っている。
2015/06/03(水) 09:53:38.81ID:L99ZSHzZ
>>205
今じゃすっかり死に絶えたね prototype.jsは

未だに$使ってる奴は、PHPでもやってろって思うね。
2015/06/03(水) 09:53:42.15ID:HnGZ0ASm
どうでもいいが、underscorejsはグローバルで名前がかち合わないよう自動処理してるだろ。だから_にこだわりも何もないよ、あれは。あの作者はさすがだなと思う。
2015/06/03(水) 10:04:47.49ID:HnGZ0ASm
jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。
2015/06/03(水) 17:34:44.34ID:/Ca0vDfD
> jQueryでみんなが慣れてしまったメソッドチェーンはOOPであるJSならではの妥協の産物であって決して素敵な何かではない。

メソッドチェーン便利じゃん
メソッドチェーンを否定するなら、代わりに何を推すのだろうか
2015/06/03(水) 17:50:56.37ID:oCZofESS
CoffeeScript
2015/06/03(水) 21:53:47.03ID:tNzh/NJ7
>>206
> jQueryリリース日から知っているのって、俺以外で何人いるかな、まあ、ライバル心が凄くて、露骨に他のライブラリーを威圧する画像を貼っていて苦笑ものだった。

知ってるも何も、Internet Archiveに残ってるよ。
その画像ってどれのこと?

https://web.archive.org/web/20060203025710/http://jquery.com/
2015/06/03(水) 21:56:52.15ID:tNzh/NJ7
>>209
jQueryでみんなが慣れてしまったメソッドチェーンは
jQueryができるより前から知っていたが、はて?
2015/06/04(木) 07:09:21.45ID:p4ZTcGym
そもそも、$ や _ の話にメソッドチェーンは関係なかろう
2015/06/04(木) 07:56:18.16ID:0Z7pWiJ+
ただのライブラリの話を持ち込まれてもな
216デフォルトの名無しさん
垢版 |
2015/06/04(木) 11:41:14.80ID:sc3w8p67
vue.js でelを指定しない時にHTMLを生成できるって書いてある記事を見かけたのだけど、どうやればいいんだ?
2015/06/04(木) 15:50:39.91ID:LzIda4YJ
そこの記事書いた人に聞けよゆとり
218デフォルトの名無しさん
垢版 |
2015/06/04(木) 16:48:24.05ID:TldR44zJ
本人乙
219デフォルトの名無しさん
垢版 |
2015/06/04(木) 17:08:20.45ID:JWskV460
まあ名前付けが傲慢な感じはあるね
prototypeとかqueryとかnodeとかbootstrapとか、
一般的なコンピュータ用語になんでもjs付ければ許されるのかと

ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しいように思う
2015/06/04(木) 17:16:37.66ID:yVQOALuO
>>219
> ここ5年くらい、Web屋の無知と傲慢が招いた名前空間の汚染が激しい

という無知
221デフォルトの名無しさん
垢版 |
2015/06/04(木) 18:11:41.00ID:JWskV460
>>220
おっWeb屋だ、元気?

ところでv8をビルドするときに使う
bootstrapスクリプトの機序をどうやって検索したらいいか教えてくれよw
2015/06/04(木) 21:53:09.33ID:PemmKaGK
>>221
v8のビルド方法で検索すればいいんじゃね?

検索したら、How to Download and Build V8っていうのが見つかったけど。
https://developers.google.com/v8/build?hl=ja
2015/06/04(木) 23:15:35.68ID:U3atrZZO
>>219
世の中の大半は、おまえより生産的で知識豊富な人たちが開発したと思ってるけどね
2015/06/05(金) 07:38:59.00ID:DEUjZ497
>>223
そういう話はキッチリソースつけて、話してくれや。
2015/06/05(金) 09:03:32.52ID:P0ImBG10
キッチ&リリース
2015/06/07(日) 07:11:03.31ID:ohZIkVP1
ま、ウェブ屋の大半が馬鹿なのは本当だろう
巨大なページに普通のjquery適用させて重い重い言ってるのよく見るしな
2015/06/07(日) 10:09:01.52ID:QDivtYyn
中古のスマホやタブレットでデザイナーに作られたようなjQuery満載の糞ページを表示させると電力不足を引き起こされてバッテリー残量が正確に認識されなくなってOSが緊急終了させられる。
今やスマホどころかタブレットもバッテリー内蔵で交換は困難/不可能だからバッテリーが寿命になっても使い続けられている端末はいくらでもある。
2015/06/07(日) 10:38:19.95ID:yTv0X04Z
はいはい
2015/06/07(日) 11:28:19.29ID:J7/rKSpK
>>226
とにかく書き捨ての糞プロジェクトが増えた
こんな流れはGoogleがつくった感じする
2015/06/07(日) 12:55:15.14ID:+aAn4ks1
誰かのせいにして安心するのは間違ってる
それは作った当人らの責任だろ
2015/06/07(日) 21:23:07.05ID:J7/rKSpK
詐欺業者が横行してて
姉歯的案件だらけだよ
年金記録流出も起こるべくして起きた
2015/06/08(月) 02:32:14.37ID:DLynV3iC
なんだお前ら生理か?
2015/06/08(月) 04:59:15.44ID:TkpGbpl3
ソフトバンクテレコム()
2015/06/17(水) 17:09:08.15ID:FiJHYwC6
関係無いけど久しぶりにJSLint使おうと思ったら随分変わってるのな
つーか何で x /= 3; でストップするんだ?わけわからんのだが
2015/07/02(木) 17:04:18.93ID:p+4VzYpK
他人が作ったコードをメンテすることになってJSDocアノテーションされてたので
ドキュメント化しようという話になった
開発時にはがJSDoc Toolkit(https://code.google.com/p/jsdoc-toolkit/)を使っていたようなのだが
それはすでにサポート終了してテンプレートも消えていた

それでJSDoc3(https://github.com/jsdoc3/jsdoc)を試しているのだがデフォルトのテンプレートが
どうにも満足のいかないものだったので、テンプレートをいくつか探して試した
なかには not found のエラーを出すものがあり、そろそろ疑問に感じてきた

それで JSDoc を jsdoc -T としてテスト実行してみたところ大量の not found
えっ? テストしてないでリリースしてるの? それともこちらの環境の問題?
ちなみに Windows 7 環境で同梱のバッチで実行してるのだけれども
java 上で動くのだからその辺は一緒のはず?
javaランタイムのバージョン?

もし Windows 上で JSDoc3 を使っている方がいたら
安定して動作している環境を教えてほしい
2015/07/02(木) 17:09:48.72ID:eJl3FSc8
>>235
$ git clone https://github.com/jsdoc3/jsdoc
Initialized empty Git repository in /home/hoge/src/jsdoc/.git/
remote: Counting objects: 16429, done.
remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429
Receiving objects: 100% (16429/16429), 16.16 MiB | 377 KiB/s, done.
Resolving deltas: 100% (8177/8177), done.
$ cd jsdoc/
$ ./jsdoc -T
Running tests...
.....(略)....

Finished in 4.993 seconds
1163 tests, 2965 assertions, 0 failures

.....(略)....

Finished in 0.054 seconds
33 tests, 60 assertions, 0 failures
2015/07/02(木) 17:10:25.70ID:eJl3FSc8
あ、これCentOS 6.6ね。
2015/07/02(木) 17:11:59.32ID:eJl3FSc8
ちなみに、
$ java -version
openjdk version "1.8.0_45"
OpenJDK Runtime Environment (build 1.8.0_45-b13)
OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)
2015/07/02(木) 17:18:31.81ID:p+4VzYpK
同じ手順を Windows 上の Git Bash にて行ってみた

$ git clone https://github.com/jsdoc3/jsdoc
Cloning into 'jsdoc'...
remote: Counting objects: 16429, done.
remote: Total 16429 (delta 0), reused 0 (delta 0), pack-reused 16429
Receiving objects: 100% (16429/16429), 16.16 MiB | 1.17 MiB/s, done.
Resolving deltas: 100% (8177/8177), done.
Checking connectivity... done.
Checking out files: 100% (620/620), done.

$ cd jsdoc/
$ ./jsdoc -T
js: exception from uncaught JavaScript throw: Error: Module "c:/Users/xxxxxx/Documents/GitHub/jsdoc/jsdoc.js" not found.

うわーん
2015/07/02(木) 17:20:04.04ID:p+4VzYpK
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode)

です
2015/07/02(木) 17:21:39.94ID:eJl3FSc8
>>239
Windowsは、jsdoc.cmdを実行するみたいだよ。

ただ、俺には理解不能なエラーが出た。
Javaとか知らんし。

> $ .\jsdoc.cmd -T
> Running tests...
> org.mozilla.javascript.EcmaError: ReferenceError: "self" is not defined. (file:/C:/Temp/jsdoc/node_m
> odules/bluebird/js/main/captured_trace.js#464)
2015/07/02(木) 17:34:40.81ID:p+4VzYpK
やっぱ Linux環境を用意しないとダメなんかなあ
ただテストではエラー出るけど実際に使ってみた際にはエラーは出ないんだよなあ

テンプレートはデフォルトと
https://github.com/Nijikokun/minami
https://github.com/davidshimjs/jaguarjs-jsdoc
はエラー無しで通った

https://github.com/bvalosek/jsdoc3-bootstrap
https://github.com/terryweiss/docstrap
https://github.com/DBCDK/jsdoc3Template
はダメだった
2015/07/02(木) 17:43:03.98ID:eJl3FSc8
Macでもやってみた。
3年位使ってたけど、Java入ってないし。JDKのインストール方法をググる所から始めた。

Web開発にMac使ってる人が多いのは、こういうところかもね。

$ ./jsdoc -T
Running tests...
....(略)...

Finished in 3.486 seconds
1163 tests, 2965 assertions, 0 failures

....(略)...

Finished in 0.024 seconds
33 tests, 60 assertions, 0 failures
2015/07/02(木) 18:58:45.62ID:p+4VzYpK
あとでちゃんと JDK 入れてみるか
2015/07/17(金) 23:16:41.01ID:GZ2lmC/i
ttp://www.bluefoun.pos.to/games/howto/htimg.html
ここに出てくる関数gameBodyって意味あんのか・・・?
これ書いただけじゃ何も実行できんぞ
2015/07/17(金) 23:24:31.53ID:XR8NxmBX
はーい今日のおバカさん↑登場
2015/07/24(金) 23:57:05.40ID:QlYyU5j9
迷子なんでここでいいかな?
cordova(phonegap)で躓いてるんだけど、専用スレが見当たらない
誘導plz
2015/07/25(土) 00:05:32.97ID:385UensT
そもそもフレームワークスレがないんだわ
自分で建ててもいいんじゃない
2015/07/26(日) 00:45:58.44ID:Nu2ySp1+
webアプリの伝票を表示する画面のHTMLで、テーブルタグでエクセル方眼紙作ってあった
列とか必要以上に多くて無駄にセルの結合してあった
2015/07/26(日) 00:46:27.27ID:Nu2ySp1+
gbk
2015/07/26(日) 08:27:53.84ID:lKG+wP//
>>249
すごく重そうなサイトだなーw
252デフォルトの名無しさん
垢版 |
2015/08/02(日) 18:40:44.98ID:mqZtRy/B
数字の1と文字の1が一致して笑った。
カス言語すぎる。
253デフォルトの名無しさん
垢版 |
2015/08/02(日) 18:45:01.04ID:dTRZmQiN
たしかperlも一致してた気がする
2015/08/02(日) 19:22:32.84ID:sI4u8psA
=== とか !== を知らないのだろうか?
2015/08/02(日) 19:23:25.05ID:ea/y5J7a
JSは互換を安易に切れないからな
残りカスのような変な仕様は山ほどある
2015/08/02(日) 19:30:32.53ID:qmwBoa+Z
>>249
もしかしてマジでEXCELでデザインしたものを変換してるのかもな
2015/08/02(日) 19:34:25.89ID:56YeXZNf
===使わないとか狂ってるな
カス過ぎる
2015/08/02(日) 19:37:57.46ID:qmwBoa+Z
むしろ==の使いどころがよくわからん
259デフォルトの名無しさん
垢版 |
2015/08/02(日) 19:41:23.07ID:mqZtRy/B
じゃあ、==の存在意義はなんだよ
260デフォルトの名無しさん
垢版 |
2015/08/02(日) 19:49:47.26ID:dTRZmQiN
explicit宣言で==がsyntaxerrorになったりせんのけ
2015/08/02(日) 20:51:00.19ID:j05l/s8s
変数に型がない言語ではどうしても、
== と === 相当の機能が必要になる。
変数に型がない言語では全て同じ。
2015/08/02(日) 21:47:56.95ID:sI4u8psA
ID:mqZtRy/B は素直に静的な型宣言を必要とするコンパイル言語を使っとけ
263デフォルトの名無しさん
垢版 |
2015/08/02(日) 22:13:12.22ID:dTRZmQiN
CoffeeScriptおすすめですお
2015/08/02(日) 22:15:15.51ID:j05l/s8s
言語としては悪くないが、
将来性として悪い。

BabelなどでES6が使えるようになった今、
CoffeeScriptの役目は終わった。
優位性が無くなったのだから。

CoffeeScriptはES6をつくるための
犠牲になったのだ。
2015/08/02(日) 22:36:51.46ID:+B7/KlLQ
>>259
null == undefinedがありますので
2015/08/02(日) 23:11:50.36ID:Q2JrvHPp
>>260
JSLint使っとけ
267デフォルトの名無しさん
垢版 |
2015/08/03(月) 05:17:31.66ID:M3KvY+a0
>>261
luaならそんなクソ仕様ないけど
2015/08/03(月) 20:20:01.84ID:OzQ4PZKS
>>267
でもこういうクソ仕様はありますね。

2.2.1 - 変換
Luaは文字列と数値を実行時に自動的に変換する。 すべての数学演算は、
文字列に適用されると、一般的な変換ルールに基づいてその文字列を数値に変換しようとする。


ただし、例外があって


2.5.2 - 関係演算子
2.2.1 の変換ルールは等価比較には適用されない。 そのため、"0"==0 は false に評価され、
t[0] と t["0"] は異なったテーブルエントリを示す。


一貫性がない。
2015/08/04(火) 11:19:43.50ID:Wrx2TKJj
NaN !== NaN は他言語でもそうなのかな
これだけは直感的でないと感じてしまう
2015/08/04(火) 20:47:31.71ID:LaebqzUe
>>269
Rubyも同じ
http://docs.ruby-lang.org/ja/search/class:Float/version:2.0.0/query:NAN/
> ただし、NaN 同士の比較では常に false を返します。

Pythonでも同様
http://d.hatena.ne.jp/yosshi71jp/20090920/1253415431
> nanは非数(not a number)、infは無限(infinity)。通常、
> この表示になってしまったら、これにどんな演算を行っても、結果はもう変わらない。

PHPでも
PHP 型の比較表
http://php.net/manual/ja/types.comparisons.php
> この値を、自分自身を含む他の値と比較すると、緩い比較であっても厳しい比較であっても
> 結果は FALSE となります (つまり NAN != NAN であり NAN !== NAN であるということです)。

さらにPerlでも
http://perldoc.jp/docs/perl/5.6.1/perlop.pod
> NaN はどの値に対しても(NaN に対してでさえも) "<", "==", ">", "<=", ">=" の
> いずれも成立しないので、これらは全て偽となります。

SQLでも似た仕様がある。

NULL は NULL と等しくない!?
http://blog.livedoor.jp/i_am_best/archives/7845603.html
2015/08/04(火) 20:48:25.72ID:LaebqzUe
>>269
> NaN !== NaN は他言語でもそうなのかな
> これだけは直感的でないと感じてしまう

直感的じゃないという意見はわからなくもないが、
他言語でも同じなわけで、それを知らないということは、
君の経験不足ってのがよく分かるねw
2015/08/04(火) 20:50:43.13ID:LaebqzUe
ついでに調べた。

C#も同じ
http://d.hatena.ne.jp/tgk/20061109/1163069036

Javaも同じ
http://d.hatena.ne.jp/Kappuccino/20080805/1217905115

C言語でも同じ
http://www.c-tipsref.com/words/not_a_number.html
> NaN を使った算術演算の結果は常に NaN になる
2015/08/04(火) 21:03:34.53ID:SiN2Ipli
a = NaN, b = NaN
aとbを比較しようとしたときにどういう問題が発生するか考えれば納得出来るだろう
2015/08/04(火) 21:18:44.87ID:LaebqzUe
>>273
わかりづらいw

var a = "a";
var b = "b";

parseInt(a) == parseInt(b)

これがtrueだとおかしいだろ?
ぐらいのことを言えよ。
2015/08/04(火) 21:25:12.39ID:MmQrnXHp
は?
NaN という状態の意味を考えろよ?
言語でしか考えてなくてコンピュータで処理するってこと微塵も考えてないだろ?
2015/08/04(火) 21:34:13.30ID:SiN2Ipli
>>274
分かろうとする努力が大切
2015/08/04(火) 21:38:57.14ID:eMvPKlqH
NaNでそーなるのっ!? (ジャンプ)
2015/08/04(火) 21:56:56.46ID:2w4CQfTI
>>271
他言語の経験がないのは認めるけど、煽りとかどうでもいいから
NaN !== NaN が成立する合理的な理由があるなら教えて欲しい
「他言語でもそうだから」という教科書的な答えでは納得できない

>>273-274
その比較はする必要性を全く感じないので、そのコードの目的がわからない
null, undefined は等価なのに NaN だけ特別扱いする理由がわからない
2015/08/04(火) 22:14:51.15ID:SiN2Ipli
>>278
nullやundefinedは演算の結果でなるものではない
2015/08/04(火) 22:56:02.17ID:MmQrnXHp
>>278
null や undefined は言語上で特定の意味を与えられた値にすぎない
NaN はそれとは全く違う
不正な演算によって生じた結果を表す状態で、これは言語ではなくてコンピュータの仕組みから定義されているもの
「不正な値」だと理解してもらっていい
不正な値なので大小比較自体が成立しないのでその結果も不明となる
あとは自分で NaN をググるなり、コンピュータでの数値表現について勉強するなりしてくれ
2015/08/04(火) 23:21:37.01ID:2w4CQfTI
>>279-280
NaN は Number ではない不定値のようなものか
何となくだが、理解した
ありがとう
2015/08/05(水) 00:11:47.63ID:GLQwjMtk
しかし大小比較自体が成立しないんだったら
言語側では例外を投げてもいいような気もするが
IEEE754で演算上の振る舞いも規定されているのか
2015/08/05(水) 07:43:38.95ID:dSgZbAfK
>>281
NaNが何の略か知らないの?
2015/08/05(水) 07:46:27.13ID:PB1eetSA
NaNの略かだって?
2015/08/05(水) 09:03:37.80ID:HdJkl2eK
Number and Number
2015/08/05(水) 11:11:39.52ID:A+1+0YPe
>>283
"Not a Number" だろう?
"Not a Number" からは不定値か固定値かは読み取れないと思うが
2015/08/05(水) 13:37:35.99ID:PzT2XX1y
isNaN
2015/08/05(水) 16:16:26.21ID:xgMUKO3v
現行スレ
+ JavaScript の質問用スレッド vol.125 + [転載禁止]
http://peace.2ch.net/test/read.cgi/hp/1436910657/l50
2015/08/05(水) 18:24:22.43ID:KU6oSpKD
ナンだって?
2015/08/05(水) 19:53:39.57ID:HdJkl2eK
                               / {;;;;;;> _八_ :: :|
                         /)   ..:::::::::::ヽ ( : |
                           , - '   .. '' {.. :::( 丶 _)  |
                          /....    ,.... .. :::     ::: |
                   _/{:::::r‐  ,.::::::::::/   :   :  }
                _ イ   :::::   {:::::::::}. ...   :::  . ´ ^}
            _... , ィ  ... ::   .. ::  , ::::::::::::      .:.  . ,'
             /:::   . ´      ゛   :::::: :: ::::::::) ...:::.::.  }
       .. イ:...::   ´ ,..::::::::::::::. ..::::..        :::"゛.. ::::  ,'
      ,.´  ...  .:. :: ´(::::::::: ゝ .:::::::ノ    ;..  ハ     .. ,′
.     /  {::::::::..  ::: ::::  "" ::  ......  ⌒ヽ  {     {
    /:::.      /  .... -<::  :::::::(:::::::   }  レ:::::::::::... {
.    {ヽ      <  :::   ::   ::     ::::  { :::::::::::: ヽ
    {:: ..       ___{      ,....:.:.:.:.::ヽ ,.    { i::::::::::::   |
    ヾ::::    ´        ,'.:.:.:.:.:.:.:.:.:.   :: .::.  ゛"゛  .,′
     \       y :.:.:.:: ヾ::  ::  :: } .. /:   `,´  /
.        \      ..::.::.::.. `    ::::::ゝ :: ::: ::.     /
           \    ヾ:._.:   ..   ,:.: −       _ン
           \    :::::  ... ..  .  "゛    ,..ィ ~
            ヽ _ ::::     ....:::. ::::::::::_ .ン
                ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2015/08/05(水) 19:57:24.97ID:HdJkl2eK
                   /                             ヽ
                    /                              ヽ
                    /                     人         ト、 |
                   /   >‐ァ              / _\       ! jノ
               /  / /            /,=彡'⌒  V ,=ミ   \
                 / /  /           r==彡tテ丁>   ∨ /ヽ |   \___,
             //    /        __  /`¨´ ヽ.ゞ'′    リ ノ /     _ノ
               {'    . ′      ⌒≫t示             /    <
                   /          >ヘヽゞイ              ∨      ヽ
             /       ,, ’     ヽ丿              ∨     !
             /  _  ..  ´          `ー  _,. -‐'’       /  \f⌒ヽ. |
             ̄                 ヽ ´           /     \   ヽ!
                                  \       /  !     /`≫‐-
            -‐…‐-                 \     /   !   /`y'´
            // ̄)    `丶                  _ア爪      .'  /`y'
          // /       ‘,             -‐</ノ ヽ   ′/`y'
       // /          L     ,-<     ∨\ ! _, イヽ/
       | し'           丿 |   /    ヽ.    ヽ/ 丁 〉 //
       | r−、         / /  /  .′          ̄  ̄
       | U  `ー― - イ /    /  '
       | U           |      /   !


                    若草物語 ナンとジョー先生
2015/08/05(水) 22:58:19.31ID:Vg22nrpW
これからjavascript一本で生きます
よろしくおねがいしまうー
2015/10/04(日) 11:02:40.14ID:K1qsk9YZ
よくsetTimeoutつかって関数を一定時間繰り返し実行する例を見るけど
メモリリーク(スタックオーバーフロー)しそうな気がしてならねえ
function viewTime()
{
var date = new Date();//これはスタックに貯まるのか?
console.log("date = " + date);
setTimeout(viewTime,1000);
}
2015/10/04(日) 11:03:55.39ID:K1qsk9YZ
ああ違う、非同期だからsetTimeoutが終わった時点で消滅するのか
納得
2015/10/05(月) 02:42:12.90ID:uvbnrVeH
割り込みとかイベントハンドラとかそういう概念
2015/10/05(月) 06:12:57.62ID:cBREl52D
ローカル変数なんだから関数終了で破棄されるだろ
非同期とか割り込みとか関係無い
2015/10/05(月) 06:40:12.29ID:sGblq84u
>>296
わからんやつだな
setTimeout が 指定時間後に実行する関数を設定しているだけでそこで呼び出してるわけじゃない
ってすぐに理解できてないと

viewTime()
 setTimeout()
  viewTime()
   setTimeout()
    viewTime()
     ...

みたいに再帰呼び出ししてるように錯覚しちゃうってことだろうよ
再帰呼び出しなら呼び元は終了してないからやばいよね

次の段階として、非同期で呼ばれるとなんとなく理解はしていても
別のコンテキストで実行されるってのがわかってないと this とか使ってあれえ?ってなことになる
2015/10/05(月) 09:58:01.89ID:YN/6GJzS
>>297
それは仮想的なコードだと思うけど、クロージャじゃないんだから一回毎に viewTime 内のメモリはGCが解放してくれないとおかしいんじゃない?
そうでなければ、ブラウザのバグだと思うけど
2015/10/05(月) 14:17:26.26ID:zntwOtDH
エスケープ解析!
2015/10/26(月) 04:16:59.02ID:AGaCWwZd
はい現行スレ
http://peace.2ch.net/test/read.cgi/hp/1444186237/l50
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況