暇つぶし2chat HP
- 暇つぶし2ch543:Name_Not_Found
15/06/06 08:49:31.97 .net
>>533
すまん、自意識過剰だったようだ。
ファイル差し込みはサーバーサイドでやるべき、というのは俺も同意だが、
>>500はどっちでもいい案件だとは思う。
片方しか実装しない場合のそれぞれの利点は以下。
・クライアントサイド
切り替えの際にリロードが必要ない。
・サーバーサイド
JavaScript無効のユーザーでも切り替え可能。
個人的にはいちいちリロードを強いるのはどうなのかね?というのがある。
ただ、この界隈では問題なさそうなのも事実。

544:Name_Not_Found
15/06/06 09:00:47.02 .net
リロード? 何を言ってるんだろう?
こんなものにわざわざHistory APIを使うって話をしてるのか?
URLが違うんだからロードするのは当たり前。

545:Name_Not_Found
15/06/06 09:22:50.64 .net
>>535
> URLが違うんだからロードするのは当たり前。
いや、これ。
リロード(URL違いのロード含む)をしなくてもいい実装は出来て、大してコストもかからないのに、
それをしないよね。まあ、文化だとは思うけど。

546:Name_Not_Found
15/06/06 09:36:27.23 .net
>>536
さっぱり意味がわからない。
まず前提としてページ内容が違うんだからURLは違う
URLが違うんだから別のページとして用意するのは当たり前。
目的はここまでで達成出来てる。
History APIを使うのは追加機能なんだよ。
大したコストはかからなかったと�


547:オても、 目的を達成した後に追加で行う本来不要なコスト。 そのコストをかける意味がある時だけかけるべきで この程度の問題ならかけるべきじゃない。



548:Name_Not_Found
15/06/06 10:09:20.08 .net
>>537
いや、俺は>>500の話をしている。
HistoryAPIの話なんてしていない。今回は使う必要もない。
>>500の実装は、クライアントサイドならJavaScript3行+CSS1セットになる。(>>502参照)
サーバーサイドでもまあ同程度だろう。
俺はリロードをウザイと感じるから、UXをあげるために前者を選ぶ。
君らは後者を選ぶきらいがある。
ただ、動的にやる必然性もない。
クライアントサイドでも切り替え時にはボタンを押す必要はあるから、
そこでURLを切り換えるのならUXはほぼ同じだ。それでもいい。

549:Name_Not_Found
15/06/06 11:49:46.02 .net
>>538
面倒臭えやつだな。
じゃあここに書いて比べようぜ。
はい。俺は書いた。次はお前の番だ。
ページ1
<html>
<body>
<!--#include file="menu.html" -->
ページ1の内容
</body>
</html>
ページ2
<html>
<body>
<!--#include file="menu.html" -->
ページ2の内容
</body>
</html>
menu.html
<ul>
<li>1</li>
<li>2</li>
<li>3</li>

550:Name_Not_Found
15/06/06 13:53:13.87 .net
>>539
俺はもう書いてるよ。(>>515,502)
ただ、SSIなら1行だというのは了解した。

551:Name_Not_Found
15/06/06 14:19:57.36 .net
できの悪い架空の質問に付き合う必要はない。

552:Name_Not_Found
15/06/06 15:00:10.66 .net
>>538
横から失礼するが、Ajaxでコンテンツを読み込んでもURLは変わらない
History API でURLを変更しないのならユーザにトップベージへの誘導を強制することになる
これはフレームの弊害と全く同じであり、前時代的な手法
JavaScript無効環境ではサーバサイドで静的コンテンツを出力するユーザビリティも確保できる

553:542
15/06/06 15:01:28.98 .net
× JavaScript無効環境ではサーバサイドで静的コンテンツを出力するユーザビリティも確保できる
○ URLを変更しておけば、JavaScript無効環境ではサーバサイドで静的コンテンツを出力するユーザビリティも確保できる

554:Name_Not_Found
15/06/06 16:14:10.33 .net
>>542
あたりまえだけどその通り。
だから>>540が何を言っているのかさっぱりわからない。
悪い(もとい、馬鹿な)手法を広めようとしているのか?w

555:Name_Not_Found
15/06/06 16:15:39.88 .net
>>540
ここスレに、1レス32行で書けって言ってるの。

556:Name_Not_Found
15/06/06 17:17:22.06 .net
>>542,543
言っていることは技術的には分かる。
ただ、>>500>>509のとおり、単なるレイアウト変更であり、Ajaxは必要ない。
これはさておき、一般的に「戻る」「進む」ボタンでのUIも認めるべきだというのは一理ある。
特に初心者が通販サイト等で入力を間違えた時によく押すのは事実。(それが使えるかどうかはさておき)
直感的ではあるから、使えた方がいいのは確かだ。
そして>>500をサーバーサイドで実現すればこれが使えるようになる。
現実的には、JavaScript無効環境の奴にフル機能を提供する必要があるとは思わないが、
特にコストがかからないというのならやればいいだろう。
確かにサーバーサイドならこれも自然に実現できる。
俺はGMに慣れてしまったから、
ボタンを押した瞬間に反応しないとかったるく感じるようになってしまった。
ネイティブ出身だと、Webアプリ特有のもっさり感に慣れていないんだ。(ロード時間を含む)
リロード無しで全て反映するように書くと記述量は増える。
現実的にJavaScriptは常にロードして使うので、記述量が増えるのはよくない。
GMは最初からロードしてあるのでこの点では例外なのだが、
そのGMでさえも一般的に設定変更はリロードを強いるのも確かだ。
(書いている奴が同じだからだとは思うが)
多分ここら


557:辺はポリシーもあるから差は埋まらない。まあ、埋める必要もないのだが。 俺ならこの場合はキビキビ感を求めてクライアントサイドでやる。 君達はキビキビ感よりも「誰でも使える」「『戻る』ボタンが使える」ことを優先する。 それだけの話だ。 それはそうと、1つのURLで済む(とは言わないのかもしれないが)ところを2つにわけると、 SEO的には薄まる気もするが。



558:Name_Not_Found
15/06/06 17:49:55.02 .net
ただ配置の縦横を変えたいというだけのことだろ?
それはCSSでやればいいって言ってるじゃん。
そして左側のレイアウトを共有したいのならiframe使えばいいよ。
勿論高度にコンポーネント化してもいいけど、非効率。

559:Name_Not_Found
15/06/06 18:14:43.67 .net
> ただ配置の縦横を変えたいというだけのことだろ?
へ? 違うページで、同じものを読み込みたいって話をしてるだろ。
なにを大幅に勘違いしてるんだ。

560:Name_Not_Found
15/06/06 18:35:52.26 .net
そもそも荒唐無稽な釣り質問なので反応を見ながら変えていってますよ。

561:Name_Not_Found
15/06/06 19:12:20.78 .net
var storingu ="0123456789";
を3番目5番目7番目8番目を分割した配列[012,34,56,7,890]にしたいんですが
そういう関数って無いんですかね?
bunkatu(文字列,[3,5,7,8])で返ってくるくるみたいな

562:Name_Not_Found
15/06/06 19:16:31.02 .net
>>550
ES5 にないから Array#slice で自作すべし

563:Name_Not_Found
15/06/06 19:28:03.33 .net
そんな便利関数標準で用意してたらキリがないだろ
つかそれを書き込む時間があったら作れるだろw
自分で作れよ

564:Name_Not_Found
15/06/06 19:47:18.27 .net
>>551>>552
なるほど!
無かったら作ればいいんですね!

565:Name_Not_Found
15/06/06 20:09:45.80 .net
>>547
あんたこれちゃんとよめる?
>>501
> な感じで書いています。UD,LRの二つのhtmlのbodyの中に同じものが書かれていているので
> 毎回二か所を修正するのが面倒なのです。それで、この部分を
> left-canvas.html
> というファイルにして、
質問者は最初から、「二つの」htmlに同じものが書かれているから
まとめたいって話をしているんだが。
縦横の配置を変えたい? CSS?
なにアホなこといってるのかね。

566:Name_Not_Found
15/06/07 02:49:25.46 .net
ここには他人を煽らないと済まない人がほんと多いな。
原則回答者同士の無駄な絡みは禁止。
それも煽りとなればなおさら。

567:Name_Not_Found
15/06/07 03:02:17.26 .net
>>555
俺を煽ってるのか?

568:Name_Not_Found
15/06/07 05:15:13.33 .net
true

569:Name_Not_Found
15/06/07 09:29:26.21 .net
visual studioでconsole.log()の出力はどこに出るんでしょうか?

570:Name_Not_Found
15/06/07 13:13:14.35 .net
stdout

571:Name_Not_Found
15/06/07 13:57:37.82 .net
>>559
レスありがとうございます。
それを出力ウインドウとかイミディエイトウインドウに出せますか?

572:Name_Not_Found
15/06/07 17:30:33.50 .net
true

573:Name_Not_Found
15/06/07 20:07:32.26 .net
false

574:Name_Not_Found
15/06/07 20:31:46.98 .net
!false

575:Name_Not_Found
15/06/07 21:23:05.41 .net
balse!

576:10人に1人はカルトか外国人
15/06/07 21:46:57.99 mMIB9Ikp.net
●マインドコントロールの手法●
・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト
10人に一人はカルトか外国人
「ガスライティング」で検索を!

577:Name_Not_Found
15/06/08 22:31:05.76 .net
jagarikin新作
URLリンク(jsdo.it)

578:Name_Not_Found
15/06/09 19:03:47.46 .net
javascriptのスレッド、何でこんなに沢山に分裂しているんですか?

579:Name_Not_Found
15/06/09 20:47:55.76 .net
>>7では控えめに書いてあるけどたちの悪い荒らしが常駐してるからだよ

580:Name_Not_Found
15/06/09 23:22:28.65 .net
>>568
解説有り難うございました。
新参者の私にはよくわからない事ばかりです。

581:Name_Not_Found
15/06/10 09:54:33.98 .net
気にせず質問したいところで質問すればいい
嵐回答者がいくらいようと誰かがちゃんと答えてくれるさ

582:Name_Not_Found
15/06/10 17:06:37.62 .net
違うスレで聞くと乱立嵐が必死こいて回答してくれるよ
レヴェルはお察しだけど

583:Name_Not_Found
15/06/10 19:58:54.32 .net
↑みたいなレスをするのがこのスレのレベル

584:Name_Not_Found
15/06/10 21:21:08.21 .net
↑(ry

585:Name_Not_Found
15/06/10 21:29:33.95 .net
乱立嵐まだいたんだ

586:Name_Not_Found
15/06/10 21:45:08.19 .net
二つのバージョンのjqueryを使う場合、例えば
aaa.js内の関数はjquery-1.3で、bbb.js内の関数はjquery-1.11で実行する事は出来ますか?

587:Name_Not_Found
15/06/10 22:09:22.89 .net
>>575
おすすめはしないけど可能。
そのことはしっかり書いてある。
URLリンク(api.jquery.com)
> (for example, if you need to use multiple
> versions of the jQuery library on the same page),

588:576
15/06/10 22:14:12.71 .net
なんかシンプルでいい回答がないから、書いておこうかな。
動くかどうかは試してないけど
<script src='jquery-1.3.js'></script>
<script>
jQuery(function($) {
 // ここの$はjQuery 1.3
});
jQuery.noConflict(true);
</script>
<script src='jquery-1.11.js'></script>
<script>
jQuery(function($) {
 // ここの$はjQuery 1.11
});
</script>

589:575
15/06/10 22:17:52.62 .net
> aaa.js内の関数はjquery-1.3で、bbb.js内の関数はjquery-1.11で実行する事は出来ますか?
よく見たら関数があるスクリプトファイルが違うのか。
ならこのパターンがいいかもな
<script src='jquery-1.3.js'></script>
<script>
var jq13 = jQuery.noConflict(true);
</script>
<script src='jquery-1.11.js'></script>
<script>
var jq111 = jQuery.noConflict(true);
</script>
[aaa.js]
jq13(function($) {
// ここの$はjQuery 1.3
});
[bbb.js]
jq111(function($) {
// ここの$はjQuery 1.11
});

590:Name_Not_Found
15/06/10 23:38:51.83 .net
>>576,577,578
皆さん、詳しい解説ありがとうございました。
大変感謝です。
ほぼ理解できたのですが、一つ分かりません。
[aaa.js] の中に
jq13(function myfunc() {
  alert("myfunc");
});
が有った場合、これを[bbb.js]内の関数から呼び出すには
どう書けばよいでしょうか?

591:Name_Not_Found
15/06/11 01:31:26.15 .net
>>579
逆にすればいいでしょ?
function myfunc() {
  jq13(function($) {
    // jQuery 1.3 の $ を使う
  })
}

592:Name_Not_Found
15/06/11 01:35:08.53 .net
>>580 レスありがとうございます。JavaScript初めて1週間なのですが、
function($)っていう書き方が良く分りません。この関数には名前が
無いんですよね? 一方、579のような名前のある関数を呼び出すやり方が
分らないのです。出来れば具体的にどう書くのかご指導お願いいたします。

593:Name_Not_Found
15/06/11 02:27:41.36 .net
>>581
それはjQueryの話題じゃないから他の人に任せるよ

594:Name_Not_Found
15/06/11 07:42:11.43 .net
>>582
教えてくれよ。ググッても分らないなんだよ。

595:Name_Not_Found
15/06/11 08:31:27.20 .net
>>581,583
> function($)っていう書き方が良く分りません。
URLリンク(api.jquery.com) を参考に
> 無いんですよね? 一方、579のような名前のある関数を呼び出すやり方が
jQuery を名前付きで待避させるコードは>>576があげてくれた
URLリンク(api.jquery.com)
に書いてある
ググる前に紹介されたリンク先ぐらいは読もうか
それから、>>1,7でライブラリ質問禁止とあるのも読んでないだろう?
技術情報もテンプレも熟読してから質問しよう
以降の追加質問はライブラリ質問スレでどうぞ

596:Name_Not_Found
15/06/11 08:42:34.46 .net
つうかjQueryを2つも読み込む(しかもそれほどバージョンが離れていない)とか無駄の極みだろ。
ライブラリの長所を殺して短所を伸ばしてるようなもんだ。
何か問題が出るならそこにパッチを当てて対処しようよ。酷すぎ。

597:Name_Not_Found
15/06/11 09:17:22.62 .net
JS触って一週間って言うし何がライブラリなのかも区別付いてない段階じゃないの
荒らしにエサやってる状態だからよろしくないけど攻めるのも酷だ

598:Name_Not_Found
15/06/11 11:47:52.08 .net
JS触って一週間でjQueryの2バージョンを一緒に使おうとか傲慢やな

599:Name_Not_Found
15/06/11 13:41:35.10 .net
つまりまた自問自答か。

600:Name_Not_Found
15/06/11 23:27:11.55 .net
まさかに実践経験に乏しいのか?
複数のバージョンを入れるのは過去の互換性を
保ったまま新しいコードを追加するためだろ。
古すぎるがゆえに、多くのコードが沢山あり、それを
一気に移行するのが大変だから少しづつ変えていくんだろ。
古いコードがたくさん残るのがそもそもだめだという意見は
分かりきっているので、言わなくていい。
そのダメな状態が現実としてあるのだから、
実践経験に乏しいんだろうなって判断した。

601:Name_Not_Found
15/06/12 06:52:05.08 .net
理屈になっていない
そんなに古いコードの移行が完了するまで新しいバージョンを我慢することができないのか
そもそもJSを初めて間もないと言ってるし、古いバージョンを移行する気なんて無いでしょ
屁理屈はやめなよ

602:Name_Not_Found
15/06/12 07:26:25.05 .net
仕事でやっているなら問題があったら上司や同僚に聞くのが常識
そして、>>581は上司に聞けばすぐに解決できる
質問者は他に聞く人がいないから質問したわけで移行性や保守性を考えて質問したとは考えられない

603:Name_Not_Found
15/06/12 08:36:21.38 .net
まともな仕事なら特別な理由がない限り、既存サイトでjQuery本体のバージョンアップなどしない
修正点が多岐にわたって工数がかかるなら尚更に旧版jQueryで動くコードで実装することを考える
わざわざ新しいコードを加えるために多大な工数をかけるのは時間の無駄
趣味の範囲でコーディングするならその限りではないがな

604:Name_Not_Found
15/06/12 09:59:06.07 .net
自演の嵐

605:Name_Not_Found
15/06/12 14:14:43.11 .net
htmlファイルのbody部にずらずら文章や各種の部品を配置するんではなくて、それらをjavascriptやjqueryで動的に生成するようにすればbody部は殆ど空にしてプログラミングだけでhtmlが作成出来ると思うんですが、そういう手法は一般的では無いですか?

606:Name_Not_Found
15/06/12 14:52:41.90 .net
>>594
一般的ではない

607:Name_Not_Found
15/06/12 15:04:15.59 .net
>>595
レスありがとうございます。
一般的ではないということですが、
何か特別な場合にはこういう手法を使う事もありますか?

608:Name_Not_Found
15/06/12 15:25:52.04 .net
ヒトが使うブラウザ相手という条件限定でなら無問題。
JS無効が1マイクロパーセントほど存在するが、そのヒトは有効と無効を切り替える設定を知っているからこそ無効にできているわけで、実際、必ず有効にしてリロードする。

609:Name_Not_Found
15/06/12 15:33:01.37 .net
>>597
なるほど。
詳しい解説有り難うございました。

610:Name_Not_Found
15/06/12 15:33:09.06 .net
ネットバンキングのページはJS無効では使えないようにして強制的にJS有効にさせる。サービス提供側にとってはJS無効のヒトは警戒対象だからな。
これは>>596 の想定し得る特別な場合だろうと思うから、ネットバンキングのページはJS無効ではほぼ真っ白くらいの割り切りがあって構わないと思う。
実際にはフォームコントロールなどは表示されるようだが、おそらくそういうviewの作り方に慣れているだけであって、本来、真っ白でいい。

611:Name_Not_Found
15/06/12 18:48:56.87 .net
あえてHTMLを生成するメリットは薄いが、
フルCanvasは面白いと思うよ。
そう言えばHTML/CSSをWebGL上でレンダリングして凄いエフェクト等を書けれるという
キチガイフレームワークが最近出たよね。

612:Name_Not_Found
15/06/12 19:51:52.92 .net
JavaScript必須にするとクローラが期待通りに巡回できない場合がある
自分で機械的に処理する場合も出来るだけシンプルであった方が望ましい
データをごにょごにょしたいならサーバサイドでHTML出力した方が再利用性も上がっていい

613:Name_Not_Found
15/06/12 20:09:48.16 .net
×JavaScript必須にするとクローラが期待通りに巡回できない場合がある
○今やクローラはJavaScriptをきちんと解釈する義務がある
後ろ向きな発言は日進月歩のWebにおいてNG

614:Name_Not_Found
15/06/12 22:22:48.86 .net
>>602


615:Name_Not_Found
15/06/12 22:48:16.41 .net
自分で機械的に処理する場合であればむしろプログラムから記述するほうがいい。

616:Name_Not_Found
15/06/13 01:55:23.63 .net
>>591
> そして、>>581は上司に聞けばすぐに解決できる
上司は技術者とは限らないんだが?

617:Name_Not_Found
15/06/13 01:57:05.90 .net
>>590
> そんなに古いコードの移行が完了するまで新しいバージョンを我慢することができないのか
意味不明すぎてワロタw
古いコードを新しいバージョンを使ったコードに移行するのが完了するまで
新しいバージョンを使うのを我慢することが出来ないのかって?w
新しいバージョンを使ったコードに移行するまで
新しいバージョンが使えないんですかw

618:Name_Not_Found
15/06/13 04:32:30.71 .net
もう終わった話をいつまでも続けようとするな。
お前は負けたんだよ。

619:Name_Not_Found
15/06/13 07:53:05.51 .net
それなに? 処理宣言ってやつ?w
終わったんだ(もう話すな(T_T))
お前が負けたんだ(俺は勝ったんだ!)

620:Name_Not_Found
15/06/13 08:46:45.51 .net
>>604
その通りなんだが、JavaScriptで実装するのが好ましいとは思えない
- ソーシャルブックマーク等の外部HTMLを読み取るサービスが働かなくなる
- ブラウザのブックマークを働かせるために Hisrory API が必須(IE9-で使用不可)
- HTML単体になるので lastModified がURL固有のものではなくなり、外部から更新日時を取得できない
- Google botは完全なJavaScriptサポートまでは表明してないのでやや不安定
- Google以外の検索エンジンbotがJavaScriptを解釈出来ない
俺ならプログラムによるWebベージ管理はサーバサイドでやるな

621:Name_Not_Found
15/06/13 10:12:52.67 .net
Webプログラミング勉強中で、JavaScriptとjQueryをある程度習得出来たのですが、次にやるとしたら何がお勧めですか?

622:Name_Not_Found
15/06/13 11:23:21.46 .net
vbscript

623:Name_Not_Found
15/06/13 11:55:04.92 .net
習得って何が作れるレベルまでいった?

624:Name_Not_Found
15/06/13 12:13:43.68 .net
>>610
コードスタイルチェックツールの導入
ユニットテストの導入
カバレッジレポートツールの導入
コードメトリクスツールの導入
ファイル結合・圧縮ツールならびにビルドツールの導入

625:613
15/06/13 12:16:19.04 .net
ウェブプログラミングならHTMLとCSSも避けては通れないはずなので
HTMLとCSSの習得
HTMLバリデータツールの導入
SCSSの導入

626:Name_Not_Found
15/06/13 12:26:55.73 .net
PHPかCGI
MySQL
DB
自前圧縮

627:Name_Not_Found
15/06/13 12:27:46.14 .net
>>610
JavaScriptを極めるなら Es, DOM, XHR 等の関連仕様書を読み取れるレベルまで持って行く
JavaScript外ならHTML/CSS/Apache/SQL/PHP

628:Name_Not_Found
15/06/13 13:54:16.48 .net
ライブラリのお作法をちょまちょまやってる人間には酷なアドバイスだな

629:Name_Not_Found
15/06/13 14:15:34.83 .net
まあ仕方ないよね。
世の中にある技術本とか料理に例えれば
・入門レベル(包丁や鍋の使い方)
・中級レベル(料理を作ってみましょう)
この程度であって、仕事として求められるレベルである
・上級者レベル(レストランを運営してみましょう)って
本がないのだから。
お母さんレベルで料理が作れたからってそれじゃ仕事レベルには程遠いわけで
個々の技術を組み合わせて効率的な開発を回していくさらに改善し続けていくのはむり。
過去のものを引き継いでいくものだから、改善できなければ
過去の自分の仕事の効率の悪さで押しつぶされる。

630:Name_Not_Found
15/06/13 14:21:36.47 .net
後半の文章がよくわからん

631:Name_Not_Found
15/06/13 15:19:16.11 .net
>>619
料理とかはね、糞不味いものを作ってしまっても廃棄してしまって0から作り直せる。
毎回作りなおしているから、過去の失敗は経験になるだけで負債にはならない。
でもソフトウェアの場合は、過去に作ったものを修正して
いくものだから、過去に作った負債を精算しなければならない。
精算するには、過去よりも高い技術力が必要。
だけど技術力をあげずに生産すれば、負債がどんどん溜まっていく一方
人誰しも最初は未熟で、成長するものなのだから当然未来から見れば
今作っているものは必ず負債になる。これはどうしても避けられない。
この業界では
成長しない = 何も変わらない ではなくて
成長しない = どんどん悪化する ことを意味する
それを改善して負債を減らしていくことが出来なければ、
負債がどんどん増えてしまって、その対応に時間を取られ
今と同じレベルを保つことすらできなくなる。

632:Name_Not_Found
15/06/13 16:23:18.91 .net
ライブラリを自作しろとおっしゃってるんですね

633:Name_Not_Found
15/06/13 20:35:10.61 .net
>>618
何のこっちゃ
その理屈でいうならJavaScriptの上級レベルは「Web制作の会社を立ち上げましょう」になるぞ
なぜ上級になると経営力まで求められるんだ?

634:Name_Not_Found
15/06/13 20:54:08.05 .net
var aa="hoge"
(function (x){
alert(x); //hoge
})(aa);
グローバル変数aaの中身が即時関数の仮引数xにコピーされる
この挙動ってなんらかの名前がついているのでしょうか?

635:Name_Not_Found
15/06/13 21:13:16.21 .net
>>623
変数の実体化 (Variable Instantiation)
URLリンク(www2u.biglobe.ne.jp)

636:Name_Not_Found
15/06/13 21:32:40.66 .net
>>624
ありがとうございます。
値がオブジェクトの場合って参照渡しでコピーされないみたいですね。
var ob={a:"hello"};
console.log("ob.a="+ob.a);//hello
(function (y){
console.log("y.a="+y.a);//hello
y.a="hello2";
console.log("y.a="+y.a);//hello2
})(ob);
console.log("2 ob.a="+ob.a);//hello2

637:Name_Not_Found
15/06/13 22:58:53.04 .net
>>621
そんなこといってないけどw
>>622
そんなこと言ってないけどw

638:Name_Not_Found
15/06/14 01:49:19.94 .net
>>625
渡され方に値の種類は関係するようなややこしいことはない。
プログラミング言語一般において渡され方は渡し方に依存する。
そしてJSにおいて渡し方は1通りなので、渡され方も1通りしかない。
しかし参照渡しではない。
参照渡しというのはJSで言うとEnvironmentRecordの一部が共有されるような挙動を指す言葉。
だが実際は変数が共有されるのではなく値が共有されるので、(値の)共有渡しと呼ぶのが良い。

639:Name_Not_Found
15/06/14 19:20:28.95 .net
> 値がオブジェクトの場合って参照渡しでコピーされないみたいですね。
「参照渡しでコピーされない」って変な日本語だな
「参照渡しはコピーではないだろ」と思って何度も読み直したぞ
「参照渡しであって(値渡し(コピー)ではない」なら誤解を招かなかっただろうな

640:625
15/06/14 19:44:19.00 .net
>>628
すいません。社会人になって、自分の日本語がかなりおかしく人に伝わらない
ときが多々あることを実感してます。
> 値がオブジェクトの場合って参照渡しでコピーされないみたいですね。
即時関数に渡す値がオブジェクトの場合、コピーでなく参照渡しが行われる
って言いたかったです。
>>627
即時関数に渡した値が数字、文字列ならコピーされ、
オブジェクトならば参照渡しになってますが、この2つの挙動が
共有渡しで実現してるんですか、よくわかりません。

641:Name_Not_Found
15/06/14 21:02:40.60 .net
>>629
正直、このスレはおかしい奴も多いから、そのレベルの話はググった方がいい。
既に他言語でプログラミングが出来るのなら、MDN/MSDNがオススメ。
リンクはテンプレにある。
> 数値およびブール値 (true と false) は、"値渡し" でコピー、受け渡し、および比較が実行されます。
> オブジェクト、配列、および関数は、"参照渡し" でコピー、受け渡し、および比較が行われます。
> 最後に、文字列は参照渡しで値をコピーまたは渡されますが、値渡しで比較されます。
> URLリンク(msdn.microsoft.com)(v=vs.94).aspx
> 値渡しと参照渡し
> C言語のように引数の渡し方を明示的に指示する方法はなく、そのデータ型によって決定されます。
> URLリンク(so-zou.jp)
C出身の俺としては、直感的でないのは文字列が値渡しされることだけで、それ以外は普通だと思うが。

642:Name_Not_Found
15/06/14 23:22:01.48 .net
数値と文字列は等しいモノを表現するインスタンスが一つしか必要ないので、
値渡しのように見える

643:Name_Not_Found
15/06/15 04:38:33.23 .net
>>630
その挙動はあくまで書いた人が俺ならどうやって実装するかを考えたものであって、
仕様では区別はされていない。そういう部分をMDNに頼るのは全くの間違い。
仕様上では値がコピーされる記述は一切ない。
新しい値ができて、その値に対して色々な名前が付けられていくだけ。
要は1つの値自体がいろんなところで共有されている。
その場合イミュータブルなプリミティブ型は値渡し(コピー)にも見え、
オブジェクトは"参照渡し"にも見えるというだけのこと。
もう一度言うが、値の種類によって渡され方が変わるという考え方はありえない。

644:Name_Not_Found
15/06/15 07:06:53.01 .net
なんなのこの自己陶酔感

645:Name_Not_Found
15/06/15 07:15:39.05 .net
正しいことを言っている人に茶々を入れられているのを見ると悲しくなってくるなあ

646:Name_Not_Found
15/06/15 07:29:09.17 .net
>>632
> オブジェクトは"参照渡し"にも見えるというだけのこと。
細かいことだけど、オブジェクトであっても「参照渡し」には見えないんじゃないかなあ
一般には「参照の値渡し」と呼ばれていたような
趣旨には同意

647:635
15/06/15 07:36:34.41 yw2fmWOh.net
「参照渡し」と「参照の値渡し」の違いについて補足
---
var o = ['hello'];
(function (c) {
c = ['world'];
console.log(o); // ['hello']
}(o));
---
「参照渡し」なら o === ['world'] になる
「参照の値渡し」を「参照渡し」と呼ばれる事があるのは承知しているけど、厳密な話をしていたようだったので念のため

648:Name_Not_Found
15/06/15 10:56:48.47 .net
>>634
うーん。分かった。ゴメン。もうしない

649:610
15/06/15 15:11:44.21 .net
皆さん、詳しいアドバイスありがとうございました。
レスが付かないと思って、今日覗いてみたらこんなに沢山レスありがとうございました。
>>611
>vbscript
ってWebで使うんですか?
>>612
>習得って何が作れるレベルまでいった?
簡単なJavaScriptやjQueryプログラミング程度です。
>>613
>コードスタイルチェックツールの導入
>ユニットテストの導入
>カバレッジレポートツールの導入
>コードメトリクスツールの導入
>ファイル結合・圧縮ツールならびにビルドツールの導入
聞いたこともない用語ばかりです。

650:610
15/06/15 15:13:01.40 .net
>>614
>HTMLとCSSの習得
ある程度出来ます。
>HTMLバリデータツールの導入
>SCSSの導入
聞いたこともありません。
>>615
>PHPかCGI
>MySQL
>DB
データベースはSQL文を少しだけ書けますが実戦経験はありません。
>自前圧縮
何ですかこれは?
>>616
>JavaScriptを極めるなら Es, DOM, XHR 等の関連仕様書を読み取れるレベルまで持って行く



651:>JavaScript外ならHTML/CSS/Apache/SQL/PHP 難しそうな用語ばかりでさっぱりわかりません。 AppachってWebサーバーですよね。自分でサーバーを立てる機会は今のところ無さそうです。 難しそうですし。 ということで、皆さんのアドバイスに出てきた用語をググることから始めたいと思います。有難うございました。



652:Name_Not_Found
15/06/15 18:59:29.29 Qq03X/Th.net
よくブログで「この記事をツイートする」「この記事をはてぶする」っていうオリジナルバナーをみかけるんだけど、これってHTMLじゃなくてjavascriptが必要なの?

653:Name_Not_Found
15/06/15 20:16:18.76 .net
>>636
MSDNすらもが参照渡しという言葉を使っているんだから厳密もなにもないと思うが
参照渡しは言葉の組み立て的には変数渡しの亜種というより共有渡しの意で使われたほうがいいと思うな
まあいずれにしろ参照の値渡しというのも仕様に踏み込みすぎてて間違いだけどね

654:Name_Not_Found
15/06/15 20:17:07.92 .net
×仕様に踏み込みすぎてて間違い
○実装に踏み込みすぎてて仕様としては間違い

655:Name_Not_Found
15/06/15 20:23:39.15 .net
>>641
> まあいずれにしろ参照の値渡しというのも仕様に踏み込みすぎてて間違いだけどね
そういう言い方なら「~渡し」全般が仕様にない言葉だから間違いだと思うけどね

656:643
15/06/15 20:28:48.53 .net
というか、MSDNが信用できないからこその>>632だと思ってた
MSDNが参照渡しと表現していることは何の担保にもならないわけで

657:Name_Not_Found
15/06/15 21:59:25.29 .net
javascriptやjqueryを駆使して凄いwebページ作っても、それを他人にそっくりコピペされて同じようなサイトを作られる危険性が有りますが、どういう対策が有りますか?

658:Name_Not_Found
15/06/16 00:11:49.81 .net
var p = [], a = document.createElement('a');
for (var i = 0; i < 10; i++) {
p.push(document.createElement('p'));
}
p[0].appendChild(a);
こういうのってできますか?

659:Name_Not_Found
15/06/16 00:39:09.49 .net
646 普通にできました。勘違いでした。ごめんなさい。

660:Name_Not_Found
15/06/16 04:24:00.80 .net
>>643
参照渡しは変数渡しの具体的な実装法だ
共有渡しというのは変数渡しや値渡しよりも抽象的で、
渡すというより共有されるということを言ってるだけだから間違いではないよ

661:Name_Not_Found
15/06/16 05:23:07.37 .net
×変数渡しや値渡し
○参照の値渡しや値渡し

662:Name_Not_Found
15/06/16 07:04:26.29 .net
>>648
そういうことじゃない
「参照渡し」という言葉は ES5 にないから実装の話なんだよ
>>641-642は実装と仕様の境界に触れているようだったからね

663:Name_Not_Found
15/06/16 12:32:19.91 .net
ES5にあるのは英語だっていうオチ?w

664:Name_Not_Found
15/06/16 12:52:33.61 .net
javascriptの上級者雑談スレってないの?

665:Name_Not_Found
15/06/16 12:55:06.89 .net
ただの雑談スレならプログラム板にあるぞ

666:Name_Not_Found
15/06/16 13:20:34.68 .net
参照渡し(call by reference)的な何かを ES5 で説明するなら参照型(Reference type)かね
プリミティブ型(Primitive type)は ES5 には書かれてないが、ES6 7.1.1 には書かれている
プリミティブ型は "6.2 ECMAScript Specification Types" に加えてあげてもいい気がする

667:Name_Not_Found
15/06/16 18:05:59.04 DjqSoQ6n.net
初心者ですので大分説明が困難ですが、ご容赦下さい。
CSSも混じってるのでここで質問していいものか解らないのですが、
htmlでよくあるドロップダウンリストメニューをjquery-1.11.3.min.jsを使って作りました。
最初のボタンを1枚の画像から背景位置指定で画像で表示し、カーソルを置くとホバーして画像の色が変わり
その下に背景色とテキストの<li>のリストが出てくる感じです。
リストにカーソルを置いた時に、ナビ画像の色をホバー状態にしたいため、
CSSに
ul.topmenu li a.infopage_button:hover,
ul.topmenu > li.selected > a {
background-position: 0px -100px;
}
としました。
結果的に上手くいったのですが、2個目のボタンを同じように作りCSSに
ul.topmenu li a.actionpage_button:hover,
ul.topmenu > li.selected > a {
background-position: -120px -100px;
}
としたら、2個目のボタンはうまくいきましたが、最初の方のボタンもリストにカーソルがある時、
2個目のボタンと同じホバー状態画像に上書きされてしまいました。
jquery-1.11.3.min.js の中に selected の文字が沢山あったので、これを増やすのかなと思ったりもしていますが
色々調べたところ何を追加すればいいか解りませんでした。
どうしたらリスト選択状態で親のボタンの画像を個別にホバー状態にできるでしょうか?
よろしくお願い致します。

668:Name_Not_Found
15/06/16 18:51:50.69 .net
話を整理しよう
>>650
仕様にあるのはあくまで1つの値に対していろんな場所でいろんな名前が付けられていくというもの
だからそれを言い出したらそもそも「~渡し」という名前で呼ぶ時点で仕様外だ
だけども共有渡しというのは当然仕様書には書かれていないが、
「~渡し」と呼ぶ前提だと最も上の仕様を表したものであるという主張がされてきている
>>654
参照型は変数の解決のためにEnvironmentRecordを前提に発生する副産物で、それ自体が重要ではなく
参照渡しを実現しようとするとERの一部が共有されるという新しいプロセスが必要

669:Name_Not_Found
15/06/16 19:50:59.92 .net
$(window).trigger('resize');
ってやるとリサイズイベントを発生させられるそうですが、
今作っているHTMLで、これをやっても一部の領域が再描画されません。マウスで
ウインドウを少し引っ張って本当の意味でのリサイズをやると、期待通り再描画できます。
プログラム的に強制的に再描画させる方法はありますか?

670:Name_Not_Found
15/06/16 20:17:16.98 .net
>>655
明らかにclass属性値selectedが不適切だな。つうか、2015年現在、そのていどなら、CSSだけでできるから、JS関係ない。

671:Name_Not_Found
15/06/17 07:44:24.48 .net
JSはES6でまともになってきたから、次はCSS及びCSSOMの改善だな。
現状ではあまりにも貧弱すぎる。
まあその前に中途半端なWebComponentの後始末を付けなきゃならんが。

672:Name_Not_Found
15/06/17 12:49:02.99 .net
>>656
> だからそれを言い出したらそもそも「~渡し」という名前で呼ぶ時点で仕様外だ
だから、>>643でそう言ってるよね
仕様書では>>627のいうように渡され方に区別なんてない
「参照渡し」や「共有渡し」「参照の値渡し」は他人に仕組みを伝えるための便宜上の言葉に過ぎない
変数の巻き上げ(hoisting)と同じ
本質的には巻き上げられているわけではなくて、そういう説明にした方がわかりやすいという理由で巻き上げ(hoisting)という言葉が使われている

673:Name_Not_Found
15/06/17 13:17:27.84 .net
>>660
だから便宜上言うにしても参照の値渡しと共有渡しは同列ではないという話をしているんだが
それとhoistingは仕様書にも登場する列記とした概念だ
ここで言う巻き上げとは当然既初期化(変数がスコープ内で利用可能になる)状態の巻き上げだ

674:Name_Not_Found
15/06/17 14:08:37.17 .net
>>556
> 「~渡し」と呼ぶ前提だと最も上の仕様を表したものであるという主張がされてきている
「最も上の仕様」とは何?
ES5 より更に上に仕様書があるとは知らなかった

675:643,660
15/06/17 14:34:16.79 Ve6ycg1I.net
>>661
> だから便宜上言うにしても参照の値渡しと共有渡しは同列ではないという話をしているんだが
自分はそこには言及してないから
>>641の「いずれにしろ参照の値渡しというのも仕様に踏み込みすぎてて間違い」に反論してるだけ
ES5 にない以上、あなたのいう「仕様」が別に存在することになるよね
何かは知らないけど「最も上の仕様」がそれなのかな?
具体的な仕様書の名前や所在をを示して欲しいところだけど
> それとhoistingは仕様書にも登場する列記とした概念だ
ES5 仕様書上で "hoisting" という言葉は検索でHITしなかったけど、どこにあった?

676:Name_Not_Found
15/06/17 15:08:43.00 .net
敢えて生産性という空虚な言葉を使うとゼロだな。
敢えて現実逃避を否定すると孤独な逃亡だな。
そろそろコードでスキルを雄弁に示してくれ。

677:Name_Not_Found
15/06/17 16:16:36.08 .net
>>662
「上の」というのは「上の文章の」であり「仕様にあるのは~」の一文を指してる
>>663
>>642を読んだ上でその質問をしているのか?
ES6仕様書で「Hoist」と検索しなさい
「hoisting」も一件HITする

678:Name_Not_Found
15/06/17 17:28:44.86 .net
>>656を推敲するならこういうことか
× 上の仕様
○ 上述の仕様
× 仕様にあるのはあくまで1つの値に対していろんな場所でいろんな名前が付けられていくというもの
○ ES6 仕様にあるのはあくまで1つの値に対していろんな場所でいろんな名前が付けられていくというもの
上に書いてあるのは仕様じゃなくて「656氏の仕様に対する独自解釈」でしかないよな
「仕様を表したものであるという主張がされてきている」なんてただの主観でしかないのに仕様と同等と主張してたり、意味わからん

679:Name_Not_Found
15/06/17 18:35:21.71 .net
独自解釈も何もそう捉える以外はない
仕様では型よる渡され方の区別はされていない
というか渡すというより仕様での値の取り回しはa is bの積み重ねで成り立っているが
そこをbをコピーしてaとすると解釈すると全て値渡し(複製)になってしまうので、
これはbの値をaという名前で置くと解釈すると、
結局1つの値に対していろんな場所でいろんな名前が付けられていくという論で全て丸く収めることが出来る
まあ参照の値渡しや型による扱いの差を持ちだして考えてもいいが、
解釈において書いていない概念を出来るだけ用いない方がいいとすると上述の論が最もスマートという結論になる
で、そもそも~渡しという名前を使うのが良くないという論もあるが
まあ~渡しと言うのは他言語との比較でも使われるのでそういう意味では
渡すというより共有するということを言っている共有渡しという言葉を使って
JSは共有渡しですよとしておくのが一番良いだろうという主張だ

680:Name_Not_Found
15/06/17 22:04:47.02 .net
URLリンク(stackoverflow.com)
にある、
function PlaySound()
っていうのをコピペして実行してみたのですが、音が鳴りません。
Here is a Plunker
って書いてあるリンクをクリックして実行すると鳴ります。
音を鳴らすには何かコツが必要ですか?

681:Name_Not_Found
15/06/18 06:42:22.48 .net
半熟になったら巻いて最後は弱火な

682:Name_Not_Found
15/06/18 07:09:36.32 .net
>>667
ES6 仕様に書かれていない事を新たな言葉を発明することで説明する行為を独自解釈という
>>666といい、あなたは日本語があやしいから「仕様」という言葉は使わない方がいい
どうしても使いたいなら該当仕様のURLを示しながら仕様の言葉で説明するように工夫した方がいい

683:Name_Not_Found
15/06/18 07:33:34.51 .net
>>668
URLリンク(plnkr.co) のソースをコピペするだけで動いた

684:Name_Not_Found
15/06/18 07:48:12.70 .net
>>670
仕様も人が書いた文章だ
仕様だからといって文言の定義が1から10までされているわけではない
そこを自分なりに解釈しないと文章を読むことはできない
新たに何かを付け加えるのではなく消去法でいくとそういう解釈に到達するということだ
こちらはきちんとここまで散々筋道立てて理を述べたのだから
それに反論するのであればこれ以上こちらに要求するのではなく
今度はそちらが労力を使って反証すべきだ

685:643,660
15/06/18 08:30:30.61 2UvYMnEq.net
>>665
ありがとう、ES6 で hoisting が見つかった
参照渡しについては別の人が触れている通りだけと、話し合いにならなそうだからいいや
一つだけおわせてもらうなら、仕様は言葉通りの意味しかないよ
読む人によって解釈が異なる文書は仕様書とは呼べない
仕様の文言に別の意味を見いだして新たな言葉を発明するから解釈が異なるなんて発想になるんじゃないかな
それでも、表現に揺らぎがあると思うなら該当記述箇所を指摘して厳密な仕様書になるよう働きかけれたらいいと思うよ

686:Name_Not_Found
15/06/18 08:49:56.11 .net
質問でもなんでもないお互いの意見のぶつけ合いならメールか何かでした方がいいんじゃない?
正直、結構前にlowdashキチが来てからこのスレおかしくなる一方に見えるんだが
それ以前はjQueryを使った回答を一部の人が嫌ってるだけで全体としては許容されてた気がする
その後、荒らしが酷くてライブラリ使うなってなってからスレとして機能してないよね(今も荒らされてるからだけど)

687:Name_Not_Found
15/06/18 09:22:27.89 .net
>>671
chromeなら鳴ったが、IE11だと鳴らん。
何でや?

688:Name_Not_Found
15/06/18 09:57:25.30 .net
>>673
ここでの解釈というのは、機能ではなくニュアンスであって、機能に差を出さずいろんな解釈をすることができる
逆に言うとどう解釈されても機能には差は出ないから、文言の定義がされていないとも言える
だから根本的に不毛なやりとりなのだが、何渡しと呼ぶのが適切かという命題自体がJSにとって不毛なので、
あえてその不毛な解釈をしなければならなくなっている
勿論現実的に参照の値渡し等をイメージして仕様書は書かれているでしょというのもわかるし、その視点では賛同するが、
今回はあくまで仕様書に実際に書かれてあることから最も自然に何が導けるのかという視点で自分は正否を述べさせて貰った
ここらへんはもはや仕様書を聖書とした宗教の領域なのでこの辺りでやめておこう

689:Name_Not_Found
15/06/18 13:19:21.75 .net
htmlに画像などを表示していて、それらを別の画像に置き換える場合、
読み込みに数秒くらい掛かったとすると、その間、利用者には、画像が
置き換わっている間の動きが見えてしまいますが、それを防止したいのです。
ある時点で画面の更新を停止して、その間に新しい画像を読み込んで、
完了したら画面の更新を再開するみたいなことは可能でしょうか?
ようするに、スマートに一瞬で画像を置き換えたいのです。

690:Name_Not_Found
15/06/18 13:22:33.34 375JuiDS.net
>>675
HTML Audio - Browser Support
Currently, there are 3 supported file formats for the <audio> element: MP3, Wav, and Ogg:
Browser MP3 Wav Ogg
Internet Explorer YES NO NO
Chrome YES YES YES
Firefox YES YES YES
Safari YES YES NO
Opera YES YES YES

691:Name_Not_Found
15/06/18 13:46:32.85 .net
>>678
親切wwwでもずれてて見づらいww

692:Name_Not_Found
15/06/18 14:18:36.77 .net
>>678
オフコースの歌みたいだな

693:Name_Not_Found
15/06/18 15:57:44.70 .net
>>677
更新先の画像をプリロードさせておけば一瞬で更新できる

694:Name_Not_Found
15/06/18 18:24:10.68 .net
CTRL,ALT,SHIFTを押されたか調べるときに
(e.ctrlKey && keycode === e.keyCode)みたいに調べるコードを見かけますがなぜですか?
(e.ctrlKey)だけじゃダメな理由ってなんですか?

695:Name_Not_Found
15/06/18 19:27:57.99 .net
何故ここの質問者はどこでどう使われてるのかを挙げずに
~みたいなという適当なコードのみで回答を要求するのだろうか?

696:Name_Not_Found
15/06/18 19:42:30.18 .net
わからない奴は答えなくていいんだよ。
質問者にもROM者にも需要ないからね。

697:Name_Not_Found
15/06/18 20:33:58.57 .net
初心者は解決するために何が必要かわからないから情報を小出しにする
出来た人間であれば情報捕捉を求めれば答えるが、経験上、補足する質問者は5%ぐらい

698:Name_Not_Found
15/06/18 20:42:41.91 .net
>>682
if (e.ctrlKey) {if (keycode == e.keyCode) {....}}
と書くより &amp;&amp; を使ってifを減らしたいんじゃないかな。
e.ctrlKeyを調べて終了する処理は無いだろうから。

699:Name_Not_Found
15/06/18 20:48:00.19 .net
& ごときで右往左往している近頃のツーチャンネル。今回は文字エンコードの問題じゃないな。今の中の人は頭悪いんだろうなぁ。

700:Name_Not_Found
15/06/18 20:49:13.00 .net
&
&&

701:Name_Not_Found
15/06/18 20:50:32.28 .net
確認画面を挟むとバグるらしい。ほんまにショボい。

702:Name_Not_Found
15/06/18 21:35:56.56 .net
>>682
> CTRL,ALT,SHIFTを押されたか調べるときに
CTRL,ALT,SHIFTっていうのは、通常は単独で押しても
何の反応もしないものなんだよ。
これらはキーを入力した時の追加情報と考えられる。
例えばCTRLキーを10回連打しても
何も入力されないだろ?
ゲームとかでは、CTRL,ALT,SHIFTを単独でおした時に
何かしらの効果が発生する事があるが、通常のアプリでは
単独で押しても何も反応せず、これらは他のキーと
組み合わせて使うものだから。例えばCTRL+Cとかね。

703:Name_Not_Found
15/06/18 22:59:44.17 .net
>>690
keydownとkeyupでは単独で取れるよ

704:Name_Not_Found
15/06/18 23:38:19.85 .net
単独で取れるかどうかの話じゃない。
単独でとるものなのかどうかという話。
単独で取らないことが多いから、
世の中のコードは単独でとってないことが多い。

705:Name_Not_Found
15/06/19 06:39:30.25 .net
>>692
> 単独で取らないことが多いから、
> 世の中のコードは単独でとってないことが多い。
日本語大丈夫?

706:Name_Not_Found
15/06/19 07:02:33.30 .net
いいえ、だいじょうぶdす

707:Name_Not_Found
15/06/19 07:30:40.99 .net
>>682
[Ctrl] キーは通常、他のキーと組み合わせて使うショートカットキーが多く、衝突の危険性を回避する為、単独では使わない
例えば、[Ctrl] + [C] キーを使っている時に [Ctrl] キー単独で反応すると困る
念のため、付け加えておくが、[Ctrl] キーを単独で使用できない技術的な理由は全くない
当然、[Ctrl] キーを単独で押しても反応しないなんてこともない
他のアプリで [Ctrl] キー単独で押して反応しないものが多いのはそのように作られているから
他機能との衝突を避ける為、[Ctrl] キーを2回連続で押すインターフェースはたまに見かけるが、人によって連続でキーを押す間隔(インターバル)が違うのでユーザビリティが低い
(そういう機能は大抵、ショートカットキーをカスタマイズ可能だから問題ないが)

708:Name_Not_Found
15/06/19 08:20:05.91 .net
それは流石に視野が狭すぎ
ゲームなんかでは立派なキーの1つだよ

709:Name_Not_Found
15/06/19 08:41:51.09 .net
>>696
何にでも例外はあるから全く使わないとは言わない
単独で使うなら衝突を避けるために event.preventDefault() でブラウザのショートカットキーを殺さなければならない
これはユーザビリティを下げる行為だから積極的には使わないというだけ
また、[Alt] キーを殺したら [Alt] + [Tab] も無効となる
ようするに、ユーザビリティを下げても良いと思える場面でのみ使うものだ
制作者のポリシー次第ともいえるが

710:Name_Not_Found
15/06/19 08:41:55.89 .net
<select onchanged= ... >
で同じitemを選択した場合でもイベント発生させる方法が
URLリンク(stackoverflow.com)
にあるようなのですが、最初のAnswerにある
<select onchange="jsFunction()">
 <option value="" disabled selected style="display:none;">Label</option>
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3</option>
</select>
をやってもうまく行きません。何が悪いのでしょうか?

711:Name_Not_Found
15/06/19 09:01:38.75 .net
>>697
急に当たり前のことを長々と語りだしてどうしたの?
結局何が言いたいのか分からん。
お節介かけたいだけか?

712:Name_Not_Found
15/06/19 09:23:24.81 .net
そんな方法はない。
そもそも要素を選択する画面の部分は仕様外のブラックボックスなのだから。
選択されて同じ値なのか、選択がキャンセルされて同じ値なのかも区別できない。
区別したければCustomElementsを使え。

713:Name_Not_Found
15/06/19 10:10:39.85 .net
>>699
>お節介をかける

714:Name_Not_Found
15/06/19 12:41:56.56 .net
google javascript styleでaaa_aa__aaみたいな変数は使ってはいけないのに
google map apiで帰ってくるjsonで使われてるんですがどうしてですか?

715:Name_Not_Found
15/06/19 12:47:40.72 .net
jsonはJavaScriptじゃないから

716:Name_Not_Found
15/06/19 12:49:20.48 vyabglPz.net
初めまして。
最近typescriptのチュートリアル程度を触ったのですが、jsを静的型付け言語として書きたい需要は大きいんでしょうか?動的型付け(js/php/ruby)しか触ったことがないので、静的型付けが便利という実感がわきません。
加えて、スレ違いかもしれませんが、静的型付け言語の利点を実感するためにはどんな言語でどんなプログラムを書いてみるのがいいでしょうか?

717:Name_Not_Found
15/06/19 13:11:11.95 .net
>>704
クラスを使う(作る)ようになるとメリットが分かるようになるよ。
型っていうのは、コメントと同じようなもんだからね。
クラス(型)が多くなって、この変数に入るのは○○型とかいう
コメントを書きたくなったとき。静的型付け言語を使う利点もわかるはず。

718:Name_Not_Found
15/06/19 13:50:09.85 .net
ブラウザが実験的に導入しているプロパティとかを使う場合
var a = window.X | webkitX | mozXみたいに書くじゃないですか
これって正しい順番の書き方ってありますか?
プリフィックス付きのは最後に書いて標準の名前を先頭に書いたほうが良いのですか?
あともしaがwindow.xだとしたら循環参照しませんか?

719:Name_Not_Found
15/06/19 15:23:49.94 .net
>>706
論理演算子の||(or)じゃないか?
ex1 || ex2
って書いた場合、ex1が真相当ならex1、そうでなければex2が返る
良いとか悪いとかじゃない

720:Name_Not_Found
15/06/19 16:51:48.43 .net
>>706
そのプロパティの仕様しらべて自分なりにコード書いてみて、自分の頭で考えて最適化すれば答えはでるんじゃね?
自分の頭で考えないから↓みたいなしょーもない疑問が出てくるんだし
>あともしaがwindow.xだとしたら循環参照しませんか?

721:Name_Not_Found
15/06/19 17:52:20.33 .net
>>707
なるほど、標準の名前を先に書いておくのがいいですね

722:Name_Not_Found
15/06/19 17:56:37.51 vyabglPz.net
>>705
なるほど、ありがとうございます。typescriptを触っていて、yuidocがいらないなーと感じてましたが、それが利点なんですね。クラスを使うようなプログラムを入門書などを探して作ってみようと思います。

723:Name_Not_Found
15/06/19 18:59:07.55 nMHFKVRD.net
>>704
世の中にはIDEの強力な支援がないととてもやっていけないヤツの方が多い
そのために静的型付であることが重要

724:Name_Not_Found
15/06/20 16:30:14.91 .net
<script type="text/javascript">
   window.onload = function () { func(); }
   function func1(a) { alert('func1: a=' + a); }
   function func() {
      var a = 100;
      var fn = func1;
      document.getElementById('button1').addEventListener('click', function () { fn(a) }, false);
      //  fn = null;     
   }
</script>
<input type="button" id="button1" />
これを実行して表示されるボタンをクリックすると、func1が実行出来たのですが、末尾の部分でfnをnullにすると例外が出ました。
つまり addEventListenerでfnを登録してその後でfnの中身が変わると(fn=nullなど)、そのことがaddEventListenerで登録済の
関数fnに影響しているようですが、ということは、var fnの宣言をfunc()内のローカル変数でやっていますが、
これは関数外でグローバル変数として宣言しておく必要があると言う事でしょうか?もしそうなら、ボタンクリックでfunc1が実行出来ているのは
たまたまですか?

725:Name_Not_Found
15/06/20 17:07:04.72 .net
addEventListenerで登録しているのはfnではなくfn(a)する関数でしょ
その関数内のfnはその関数内では定義されていないので外のfn見に行ってるでしょ
だからそうなるの

726:Name_Not_Found
15/06/20 17:23:13.35 .net
レスありがとうございました。
実体が定義されている関数func1()やfunc2()を使って
 document.getElementById('button1').addEventListener('click', function () { func1(a) }, false);
 document.getElementById('button1').addEventListener('mouseenter', function () { func2(a) }, false);
とやればうまく行ったのですが、変数fnを使って
 fn=func1()
 document.getElementById('button1').addEventListener('click', function () { fn(a) }, false);
 fn=func2()
 document.getElementById('button1').addEventListener('mouseenter', function () { fn(a) }, false);
みたいにすると、期待通り動きません。
こういう場合に変数fnを使ってやる方法教えてください。

727:Name_Not_Found
15/06/20 18:39:05.78 .net
setIntervalを同時に複数実行させたいのですが、出来ますか?

728:Name_Not_Found
15/06/20 19:14:34.26 .net
ごめん出来た

729:Name_Not_Found
15/06/20 19:20:23.32 .net
ʕ•ӫ̫͡•ʔ

730:Name_Not_Found
15/06/20 20:11:27.47 .net
誰か714教えてけろ。

731:Name_Not_Found
15/06/20 20:32:07.90 .net
>>711
> 世の中にはIDEの強力な支援がないととてもやっていけないヤツの方が多い
支援があると簡単になるってことですか?

732:Name_Not_Found
15/06/20 20:58:21.31 .net
>>714
こうすればいいケロ。
fn=func1;
document.getElementById('button1').addEventListener('click', (function(fn){return function(){fn(a)}})(fn), false);
fn=func2;
document.getElementById('button1').addEventListener('mouseenter', (function(fn){return function(){fn(a)}})(fn), false);

733:Name_Not_Found
15/06/20 21:23:26.08 .net
>>720
ありがとうございました!できました。あなたはJSの達人ですか!
感謝です!!
教えていただいた構文が全く理解出来ないのですが、勉強するには、
どういうキーワードでググれば良いでしょうか?

734:Name_Not_Found
15/06/20 21:42:30.21 .net
基礎構文と基礎的な修練のレベルだろ。
それなのに勉強する方法まで人に尋ねる気なの?
随分と図々しいな。
本当にやる気あるのか?

735:Name_Not_Found
15/06/20 22:01:08.37 .net
>>721
「javascript addeventlistener 引数を渡す」辺りで調べるケロ。
今回は引数が関数なので若干難しいけど、順を追えば絶対分かるケロ。
あと、>>720は分かりずらいし無駄な部分があるから、こっちに修正したほうがいいかもしれないケロ。
function createHandler(fn){
 return function(){ fn(a); }
}
fn=func1;
document.getElementById('button1').addEventListener('click', createHandler(fn), false);
fn=func2;
document.getElementById('button1').addEventListener('mouseenter', createHandler(fn), false);

736:Name_Not_Found
15/06/20 23:01:45.74 .net
>>714 >>720
なんか回り道しているように見えるが?
本当にやりたい事はこれじゃねーのか?
var fn1 = function () { func1(a) }
document.getElementById('button1').addEventListener('click', fn1, false);
var fn2 = function () { func2(a) }
ddocument.getElementById('button1').addEventListener('mouseenter', fn2, false);

737:Name_Not_Found
15/06/20 23:38:15.54 .net
var O = function() {
this.age = 100;
};
O.prototype.show = function() {
var a = this.age;
var t = function(a) {
console.log(this.age);
console.log(a);
};
t();
};
var o = new O();
o.show();
t()の中でthis.ageの値が使いたいんですがこう書いたらundefinedになりました
どうやってつかうんでしょうか?

738:Name_Not_Found
15/06/20 23:45:22.44 .net
>>725
方法1
O.prototype.show = function() {
var a = this.age;
var that = this; // ← this を別の変数に退避
var t = function() {
console.log(that.age);
console.log(a);
};
t();
};
方法2
O.prototype.show = function() {
var a = this.age;
var t = function() {
console.log(this.age);
console.log(a);
}.bind(this); // ← 関数t の this を外側の this に固定
t();
};
方法3(一部ブラウザ非対応)
O.prototype.show = function() {
var a = this.age;
var t = () => { // ← アロー関数のなかの this は外の this と同じ
console.log(this.age);
console.log(a);
};
t();
};

739:Name_Not_Found
15/06/21 00:54:08.18 .net
>>723
ありがとうございました。この方式でも上手く行きました。感謝です。

740:Name_Not_Found
15/06/21 08:57:50.26 .net
>>712,714
いろいろとちぐはぐな印象があるのだが…。
・グローバル変数を嫌うのにグローバルに func が定義されている
・addEventListener を使うのに window.onload が使われている
・window.onload のハンドラ関数内で関数呼び出しするだけの無意味なコードがある
リスナー関数の第一引数は event で予約されているので、何らかの値を共有したい場合は handleEvent を使うと良い。
URLリンク(jsfiddle.net)

741:Name_Not_Found
15/06/21 16:11:01.45 .net
querySelectorの代に引数のコードをこの質問スレでだいぶ前に見たんですが
w3c見ても第二引数が載ってないんですがこの第二引数ってなんのために使うものですか?

742:Name_Not_Found
15/06/21 16:24:40.74 .net
第二引数なんてないと思うが?
なんかの間違いだろう

743:Name_Not_Found
15/06/21 17:41:57.61


744:ID:???.net



745:Name_Not_Found
15/06/21 20:22:52.69 .net
>>729
W3Cにないのだからあなたの記憶違い

746:Name_Not_Found
15/06/22 00:41:56.99 .net
>>729
そういえばあったね
8年以上前の提案で実装もされてないから忘れちゃっていいと思うよ
URLリンク(www.w3.org)

747:Name_Not_Found
15/06/22 03:13:02.54 .net
querySelectorってブラウザ間の互換性は完璧ですか??
どのブラウザでも同じものが使えるのでしょうか?

748:Name_Not_Found
15/06/22 04:07:55.09 .net
お前は1つ1つのAPI全てここで聞く気なのか?
そんなことは自分で調べろ!!

749:Name_Not_Found
15/06/22 08:16:04.99 .net
↑まさかこういうのも自演か?

750:Name_Not_Found
15/06/22 08:27:25.54 .net
buttonってデフォルトでマウスがボタンの上に来ると色が変わりますよね。
たぶんmouseoverか何かのイベントだと思います。
ところがそのbuttonのclickイベントで自作の関数button_click()を呼び出すように、
addEventListenerすると、そのデフォルトの色が変わる機能が機能しなくなる
ようなのですが、これをデフォルトのように機能させて色を変えたいのですが、
どうすれば良いでしょうか?mouseoverイベントに対して、色を変えるような
関数を自前で実装する必要があるのでしょうか?

751:Name_Not_Found
15/06/22 08:34:00.11 .net
>>737
addEventLidtenerにそんな機能はない
関数内を空にして検証すればわかる

752:Name_Not_Found
15/06/22 08:43:51.45 .net
>>737
再現可能なコードと再現可能なブラウザとバージョンを明らかにしてもらわないと検証しようがない
コードを少しずつ削除して原因を切り分けしたら?

753:Name_Not_Found
15/06/22 09:05:02.87 .net
>>738>>739
レスありがとうございました。
調べてみたら、addEventListenerは関係ありませんでした。お騒がせしました。
しかしながら、mouseover時に色が変わらない現象はまだ解決していません。
<input type="button" id="id1" value="button1" />
これならmouseoverで色が変わるのですが、ボタンの何らかの色属性を設定するとmouseoverで色が変わらない
症状が出ます。これは仕様でしょうか?
<input type="button" id="id2" value="button2" style="border:1px solid red"/> // こうするとmouseoverで色が変わらない
<input type="button" id="id3" value="button3" style="background-color: red" /> // この場合でもmouseoverで色が変わらない
Windows7 IE11 です。

754:Name_Not_Found
15/06/22 09:11:58.01 .net
JavaScirpt関係ないので、ここで打ち切りです。
みんなも答えないように。

755:Name_Not_Found
15/06/22 09:12:24.08 .net
Chromeでも実験してみました。そうすると、Chromeの場合は、mouseoverではbutton背景色は変わりませんが
border色が変化しました。兎に角mouseoverで背景色が変わったり(IE11),border色が変わったり(Chrome)するようです。
しかし、上記例の2番目、3番目のように自分でbuttonの何らかの色属性を設定するとmouseover時に背景色やborder色が変化する
デフォルトの挙動が無くなります。これは仕様でしょうか?

756:Name_Not_Found
15/06/22 11:47:23.68 .net
非対応ブラウザ向けに
if (property in object) {
alert("非対応ブラウザです");
}
〜in〜でチェックする意外に良い方法ありますか?これがベストですか?

757:Name_Not_Found
15/06/22 11:53:09.55 .net
tryで囲む

758:Name_Not_Found
15/06/22 12:59:23.44 .net
>>741
お前みたいな童貞には聞いていない。

759:Name_Not_Found
15/06/22 14:24:47.71 .net
>>740
GCのデフォルトスタイルシートがどうなっているか、はCSSで規定されてない
普通はデフォルトスタイルシートに依存せず、制作者スタイルシートで上書きする
:hover あたりで実装できる
>>741のいうようにJavaScriptの質問ではない(CSSの質問)のでここで質問しないでください
>>745は人格を疑います

760:Name_Not_Found
15/06/22 15:31:39.12 O6vc5bZ4.net
>>711
遅れましたが教えていただいてありがとうございます。やはりIDEの支援を受けられる(受けやすい)というのが大きいんですね。
空いてる時間に少しずつ勉強していこうと思います。

761:Name_Not_Found
15/06/22 16:55:35.14 Etk3KzJI.net
JSで口パクツール作ってみたいんですけど、参考になりそうなサイトや作例ご存じないですか?
Flashならここ URLリンク(allabout.co.jp)
みたいな、そこそこヒントになりそうなの見つかるんですけれども・・・

762:Name_Not_Found
15/06/22 18:10:54.80 .net
口パク?
そんなにアニメーション GIFでいいんじゃねーの?

763:Name_Not_Found
15/06/22 18:31:41.31 Etk3KzJI.net
マイク音に反応して動くやつっすね。有名どころはドッペル。あんな感じの。

764:Name_Not_Found
15/06/22 18:37:04.81 .net
javascript 音声 マイクでぐぐったら1ページ目に答えがでたが?

765:Name_Not_Found
15/06/22 18:44:20.56 Etk3KzJI.net
urlでお願いします

766:Name_Not_Found
15/06/22 19:12:59.62 .net
URLリンク(www.google.com)

767:Name_Not_Found
15/06/22 19:41:21.47 ufubf1pp.net
【やりたいこと】
ブログにオリジナル画像のソーシャルボタンを設置したい。
独自タグを用いずに記事URLと記事タイトルを取得するにはどうすればいいか教えて欲しい
【使ってるブログ】
livedoorブログ
【現状】
ツイートボタンは以下のような形で設置していたのですが…
<a href="URLリンク(twitter.com)【独自タグを利用いてタイトル取得】&amp;url=【独自タグでURLを取得】&via=【Twitterアカウント】">
<img src="【使いたい画像】"></a>
どうもlivedoorブログの独自タグというのがPCでは有効でもスマホになると無効化されてしまうらしく、スマホからだとツイートした際に記事のタイトルやURLが取得されていないようで困ってます…。
独自タグを用いずに個別の記事のタイトルとURLを取得するにはどうすればいいのでしょうか…?

768:Name_Not_Found
15/06/22 20:03:13.32 .net
固有のサービスのことなんてここで聞かれても知らんがな
専用スレで聞けよ
スレリンク(blog板)l50

769:Name_Not_Found
15/06/22 20:16:51.27 .net
Web制作の何でも相談所と勘違いしている質問者があるようだね

770:Name_Not_Found
15/06/22 22:52:56.03 TVawu57t.net
和暦を日付に変換したいのですが
var text = '平成12年3月4日12:34';
var hiduke = text.match(/^平成(\d{1,2})年(\d{1,2})月(\d{1,2})日(\d{1,2}):(\d{2})/);
for(var i = 1; i < 6; i++){
hiduke[i] = parseInt(hiduke[i]);
}
hiduke[1] += 1988;
var date = new Date(hiduke[1],hiduke[2],hiduke[3],hiduke[4],hiduke[5]);
もっとよい方法ありますでしょうか

771:Name_Not_Found
15/06/22 23:05:09.80 .net
>>757
function toDate (string) {
string = /^平成(\d{1,2})年(\d{1,2})月(\d{1,2})日(\d{1,2}):(\d{2})/.exec(string);
return new Date(Number(string[1]) + 1988, string[2], string[3], string[4], string[5]);
}
toDate('平成27年6月22日23:00');

772:757
15/06/22 23:22:54.12 TVawu57t.net
>>758
ありがとうございます勉強になりました。

773:Name_Not_Found
15/06/23 01:17:03.73 V2pHveJI.net
>>755
失礼致しました…;

774:Name_Not_Found
15/06/23 11:47:03.98 .net
var o = document.createElement("div");
for (var i in o) {
if (o.hasOwnProperty(i)) {
console.log(i);
} else {
console.log(false);
}
}
これ全部falseになるのはどうしてですか?

775:Name_Not_Found
15/06/23 13:19:36.07 .net
>>761
プロトタイプ上のプロパティだから
むしろ、true になると思い込んでいる考え方を改めたほうがいい

776:Name_Not_Found
15/06/23 19:44:15.38 .net
DOMのプロパティがプロトタイプ上に実装されたのはBlinkでは最近だぞ?

777:Name_Not_Found
15/06/23 20:57:46.75 .net
DOM ではプロパティの存在位置まで規定されていないから hasOwnProperty に依存すべきではないという事だろう
in 演算子を使うべき

778:Name_Not_Found
15/06/23 22:35:39.73 .net
javascriptなのかjqueryなのかよく分かりませんが、自分で作っているhtmlの中に400px X 300pxくらいの大きさの<div>を作って、その中に例えばyahooのhpを表示させるなんて出来ますか?

779:Name_Not_Found
15/06/23 22:42:17.31 .net
iframe

780:Name_Not_Found
15/06/23 23:11:03.06 .net
>>766
じゃあ、小窓の中にyahooの全体を表示するのではなくて、yahooのhpの特定の<div>部分を小窓に表示させるなんて出来ますか?

781:Name_Not_Found
15/06/23 23:14:58.72 .net
できる

782:Name_Not_Found
15/06/23 23:16:18.36 .net
>>768
やり方をおしえてちょ

783:Name_Not_Found
15/06/23 23:26:45.47 .net
サーバーサイドでHTML取得してパースして該当箇所を抜き出す
サーバーサイドがいじれないならYQLとか使う

784:761
15/06/23 23:33:32.09 .net
console.log("MIN_VALUE" in Number); // true
console.log(Number.hasOwnProperty("MIN_VALUE")); // true
console.log("isNaN" in Number); // true
console.log(Number.hasOwnProperty("MIN_VALUE")); // true
上のは全部trueなのに下のはエラーやtrueやfalseとこれがよくわかりません
var a = 1;
console.log("constructor" in a); // Uncaught TypeError: Cannot use 'in' operator to search for 'constructor'
console.log(a.hasOwnProperty("constructor")); // false
console.log("constructor" in window); // true
console.log(window.hasOwnProperty("constructor")); // false
console.log("constructor" in Number); // true
console.log(Number.hasOwnProperty("constructor")); // false

785:Name_Not_Found
15/06/23 23:48:59.35 .net
>>771
挙動だけ見て同じでないのがおかしいと思う前に仕様書を読む努力をしましょう

786:Name_Not_Found
15/06/24 00:29:07.01 .net
やりながら学べばいいってことよ。その方が目的達成の近道だよとオラの婆ちゃんが言ってたから絶対だ。

787:Name_Not_Found
15/06/24 04:10:57.74 .net
テキストボックスに打った文字をjsを使って指定したファイルに書き込むことってできますか?

788:じゃがりきん
15/06/24 04:25:40.07 mBuo1W/V.net
新作です
評価お願いします><

ブレゼンハムキューブ
URLリンク(jsdo.it)

789:Name_Not_Found
15/06/24 09:43:45.12 .net
for (var i in Number) {
console.log(i);
}
これ何も出力されないのは何でですか?

790:Name_Not_Found
15/06/24 10:37:01.78 .net
各プロパティには列挙可/不可のフラグがあって
ビルトイン系のほぼ全部が列挙不可に設定されているから

791:Name_Not_Found
15/06/24 16:26:06.03 .net
整数のみの加減算にしないとブレゼンハムではないね

792:Name_Not_Found
15/06/24 17:05:35.31 .net
整数のみの加減算になるのは最適化の結果であって
アルゴリズムの目的からすると必ずしもそうでなくてもいい

793:Name_Not_Found
15/06/25 17:27:09.62 .net
m


794:ain.html sub.html があって、mainのほうを最初に開いて、そこで window.open()を使ってsub.htmlを開いた場合、その上にあるbuttonを押すと以下のコマンドを実行するようにしたら、 $("#myID").css("background-color", "yellow"); その結果 sub.htmlにある<div id="myID">の背景が黄色になったのですが、 main.htmlにある<div id="myID">の背景を黄色にするにはどのように書けば良いでしょうか?



795:Name_Not_Found
15/06/25 19:37:43.51 .net
>>780
>>7

796:Name_Not_Found
15/06/25 19:58:37.05 .net
window.openとか今の時代やめたまえ

797:Name_Not_Found
15/06/25 20:11:01.19 .net
>>781
レスありがとうございました。
でも>>7見たのですが、何の事か全く分かりませんでした。
>>781
では、今の時代は何ですか?超初心者なので右も左もわかりません。

798:Name_Not_Found
15/06/25 20:23:50.91 .net
>>783
ライブラリ系の話題は禁止
>>1を全て読み直して

799:Name_Not_Found
15/06/25 20:26:45.58 .net
>>ライブラリ系
って何ですか?

800:Name_Not_Found
15/06/25 20:50:24.72 .net
>>783
例えばPCなら2ウィンドウを並べて見ることができるがスマホだとそうはいかない
PCでさえもユーザーエクスペリエンスが下がる

801:Name_Not_Found
15/06/25 21:05:12.19 .net
>>786
じゃあ今流行りな方法は何ですか?

802:Name_Not_Found
15/06/25 21:46:00.16 .net
ライブラリ許容スレをいっぱい立ててライブラリのお作法のみをなぞることかな?

803:Name_Not_Found
15/06/25 21:54:08.96 qqVgHSni.net
ブログの過去記事をランダムで10件ほどピックアップ表示するのってどうすればいいの?
クリックすると過去記事ランダム表示までは出来たのですが、無作為に10件リスト形式のテキストで表示するのが無理ゲ…。

804:Name_Not_Found
15/06/25 21:56:38.91 .net
>>789
ライブラリ系の話題は禁止
>>1を全て読み直して

805:Name_Not_Found
15/06/25 21:57:05.94 .net
>>788
雑談も禁止
>>1を全て読み直して

806:Name_Not_Found
15/06/25 21:58:12.91 .net
>>786
ユーザーエクスペリエンスの話題は禁止
>>1を全て読み直して

807:Name_Not_Found
15/06/25 22:06:01.78 .net
文章の途中をピックアップするってこと?

808:Name_Not_Found
15/06/25 22:08:29.58 qqVgHSni.net
>>793
過去記事のリンク付きタイトルを「過去記事ピックアップ」みたいなラベル付けてサイドバーに置いておきたい。
ようするに「おすすめ記事」とか「新着記事」とかの中身を過去記事ランダムに変えただけのものを設置したい。
おすすめとか新着とかだと回遊率に歯止めがきそうで…

809:Name_Not_Found
15/06/25 22:10:24.32 .net
>>794
ライブラリ系の話題は禁止
>>1を全て読み直して

810:Name_Not_Found
15/06/25 22:17:44.85 .net
>>795
おまえが仕切る必要はない。アホか。

811:Name_Not_Found
15/06/25 22:19:01.56 .net
ランダムにaタグをappendchildすればえんちゃう

812:Name_Not_Found
15/06/25 22:42:04.47 .net
>>796
テンプレを守る必要はある

813:Name_Not_Found
15/06/25 23:09:26.66 .net
ライブラリの話題は禁止だが=ライブラリ仕様コードを晒すの禁止ではない。
ライブラリ禁止というのは宗教ではなく、荒らし対策という理屈によるものなのだから。
テンプレも絶対にそこに書いてある言葉通りに沿わないといけないというものではない。
我々プログラマという理屈的な人間が手段を目的化させるようなことはあってはいけない。

814:Name_Not_Found
15/06/26 00:55:32.92 .net
その人はテンプレが害悪と言いたいためにすべてに>>1嫁と言ってる人(乱立嵐)だから気にしないでいいよ

815:Name_Not_Found
15/06/26 05:21:18.51 .net
>>799
おまえが仕切るな。

816:Name_Not_Found
15/06/26 06:53:53.89 .net
当初ライブラリ厨が嫌だから分離しろとゴネて
ライブラリスレを立ててテンプレを無理やり変えて押し切ったのが自分だから口出しする責任がある。

817:Name_Not_Found
15/06/26 07:54:16.71 .net
当時関わった者だが、事実を歪曲して他人に命令する傲慢さは持ち合わせてないわ

818:Name_Not_Found
15/06/26 08:25:06.00 .net
なんだかんだ言って当初はjQuery厨が騒いでたけど今は大人しいんだからもういいんじゃね

819:Name_Not_Found
15/06/26 09:03:49.87 .net
>>804
元はlowdash推しの変人が自演回答してて「お前自演してないか」と言われた時にそうだよ、何が悪いってそいつが認めて
lowdashの情報を投下しつづけるbot化
もう面倒だからライブラリ禁止にしようってなった途端
そいつらしき人物がjQueryとlowdashのアピールしまくり、議論が二転三転してスレ機能せず、その後スレ乱立荒らしにって流れじゃなかった?
議論の内容はjQueryは割と広く使われてるから回答に出てくるのはわからないではないけどlowdashとかどこで使われてるんだよwwお前以外lowdash推しのやついねぇよ的な内容だった気がする

820:Name_Not_Found
15/06/26 13:27:42.19 .net
ライブラリの啓蒙()始める前からずっとここで引っ掻き回して遊んでたよ

821:Name_Not_Found
15/06/26 13:47:04.14 .net
>>805
> 議論の内容はjQueryは割と広く使われてるから回答に出てくるのはわからないではないけどlowdashとかどこで使われてるんだよwwお前以外lowdash推しのやついねぇよ的な内容だった気がする
ライブラリに全く触れていない質問にlodashやjQueryの回答をして、「そんなことまでライブラリ使うな」と批判をあびている構図だったと思う
ライブラリ回答者の言い訳は「ライブラリ布教の為に回答してます。ライブラリスレは人が少ないので行きません。」
このスレにいるjQuery回答者もそんな感じ
jQueryに触れられてない質問でもjQueryの回答をする

822:Name_Not_Found
15/06/26 15:03:54.38 .net
jQueryの述語そのままで通信限定のライブラリーを作れば需要はある。
というか2015年6月時点で瀕死のjQueryをそこまでミニマルにすれば延命できる。

823:Name_Not_Found
15/06/26 15:49:15.71 .net
そんな感じだったか
jQueryの普及率的に信者が居たりするのはわからないではないけどlowdash推しのあいつは理解できなかったなぁ
何がそこまでさせるのか

824:Name_Not_Found
15/06/26 18:01:26.22 .net
>>808
メソッドチェーンなのは同じだけど
将来的にはObservableがDOMに来るからjQueryは駆逐される

825:Name_Not_Found
15/06/26 22:05:48.81 .net
じゃあもうそろそろライブラリ解禁でいいですかね。

826:Name_Not_Found
15/06/26 22:08:01.13 .net
>>810
Observableでどうやって、属性を変えたりするの?
jQueryがObservableを取り込んで、
ますます便利で高速になると思うんだけど。

827:Name_Not_Found
15/06/26 22:10:59.17 .net
jQueryの便利な所は、ループが不要になる
セレクタを使った一括適用なんだけどな。
lodashも同じで、ループや比較が必要になるような
コードが半分以下になる。

828:Name_Not_Found
15/06/26 23:53:57.94 .net
オワコン

829:Name_Not_Found
15/06/27 00:04:23.60 .net
まあ、オワコンには誰もやりたがらないメンテ作業が無期限で残されているだろうから、がんばれ。

830:Name_Not_Found
15/06/27 03:31:52.01 .net
jQueryがおkだからマイナーなライブラリの話をする という嵐がいるみたいだからまとめて禁止でいいよ
ライブラリスレにjQueryスレ、あとライブラリ許容の乱立スレ?とム板のスレまであるんだから
ここが禁止のままでも嵐以外は困らない

831:Name_Not_Found
15/06/27 06:16:04.03 .net
ライブラリのリファレンスを参照して答えるような質問でないのなら別にいいでしょ
ライブラリに関する質問がダメなわけであって$を見ただけで過剰反応してはいけない

832:Name_Not_Found
15/06/27 06:22:49.42 .net
まあ禁止されても勝手に書き込むから
関係ないけどなw

833:Name_Not_Found
15/06/27 06:24:12.08 .net
嵐がいなくなったというか、ライブラリの話題が禁止されて
単にこのスレが過疎化しただけというw
質問自体が無いしね。雑談ばっかり。

834:Name_Not_Found
15/06/27 07:24:04.90 .net
もうすぐlodash 3.10リリース
lodash v3.10.0
URLリンク(github.com)
まだChangelogには書かれてないみたい
URLリンク(github.com)

835:Name_Not_Found
15/06/27 07:25:30.22 .net
jQuery 3.0 はまだまだかねぇ。
URLリンク(github.com)

836:Name_Not_Found
15/06/27 08:24:54.38 .net
久しぶりに1年前のスレを見てみたが、こんなに正常なスレだったんだな
vol115からライブラリ嵐の異様さがよくわかる
スレリンク(hp板)

837:Name_Not_Found
15/06/27 09:21:59.24 .net
その時点で大分正常から遠ざかってるように見えるが

838:Name_Not_Found
15/06/27 10:07:04.29 .net
そしてすっかり過疎化してしまった。

839:Name_Not_Found
15/06/27 11:26:12.65 .net
jsでファイルを複数に分けた場合、
それぞれのファイルでc言語で言うところの関数の外で宣言したstatic変数的な変数定義は出来ますか?
つまりそのファイルの中だけでグローバル変数になる。

840:Name_Not_Found
15/06/27 11:45:56.62 .net
nodejs

841:Name_Not_Found
15/06/27 12:43:47.62 .net
>>825
できない気がするけどファイル内全体を即時関数で囲っておいてその中で変数定義すればいいんじゃないかな
そうすれば変数も関数もローカルになるし
普通にグローバル定義したいものはwindow.xxx=function (){}みたいな感じで定義すればできるんじゃないかな

842:Name_Not_Found
15/06/27 13:32:35.12 .net
>>827
>できない気がするけどファイル内全体を即時関数で囲って
レスありがとうございます。
ファイル全体を即時関数で囲った場合、
その中にある関数myfunc(){......}はどうやって呼び出せば良いのでしょうか?
囲う前なら普通に
myfunc();
で実行出来ていたわけですよね。囲った場合の呼び出し方が分かりません。

843:Name_Not_Found
15/06/27 13:48:42.32 .net
>>828
外から呼び出したいものだけは
window.myfunc=function(){}
みたいなで定義しておけば
普通にmyfunc()でいける

844:Name_Not_Found
15/06/27 13:50:12.13 .net
>>828
>その中にある関数myfunc
その関数を外から(他の js ファイルなどから)呼びたい場合は
その即時関数の中で、
即時関数の外で定義された変数にその関数を代入するしかないだろう

845:Name_Not_Found
15/06/27 15:37:02.43 .net
>>828
var globalVar = (function () {
return 'hoge';
}());
(function () {
this.globalVar = 'hoge';
}.call(this));

846:Name_Not_Found
15/06/27 18:37:14.03 .net
普通にブロックスコープとletとvarを使えばいいだけのこと

847:Name_Not_Found
15/06/27 18:38:40.84 .net
>>832
じゃあそれらを使った解決方法を書けよ。
意味もわからず適当な事を言って、自己満足するのはやめなさい。

848:Name_Not_Found
15/06/27 18:53:22.88 .net
(function(global){
global.myfunc=function (){}//グローバルな関数
function myXXX(){}//ローカルな関数
var xyz=200;//ローカル変数
global.abc=5000;//グローバル変数
}(window))

849:Name_Not_Found
15/06/27 19:17:00.47 .net
グローバル変数をなるべく減らすって
考え方は間違っちゃいないけど、
そこまで来たならRequreJSとかを使うべきだろうな。
開発時は細かくファイルを分けて、
リリース時はファイルを結合して
1つにするとか出来るよ。

850:Name_Not_Found
15/06/27 19:32:37.65 .net
>>833
自分が理解できないっていうんなら下手にお伺いを建てるのが普通
他人に回答してほしくないのなら自分が完璧な回答してあげればいいのに
えらく自分勝手だねキミ

851:Name_Not_Found
15/06/27 19:34:48.11 .net
>>836
ほらね。詳細書けと言われたら書けないんだよ。こいつ。
自分が適当な事を書いてるってわかってるんだろうねw

852:Name_Not_Found
15/06/27 19:41:37.54 .net
>>828
素直にRequireJSを使った方がいい。
軽くサンプルを書くと、
[module.js]
define(function() {
 var value = 1;
 function foo() { alert(value) }
 return {
  foo: foo
 }
});
[main.js]
require(['modules'], function(Module) {
 Module.foo()
});
こんな感じで、ファイル内でグローバル相当なvalueを作ったり、
別のファイルからfoo()を呼び出したりできる。

853:Name_Not_Found
15/06/27 19:45:45.14 .net
一応俺がRequreJSを使ってるから、RequireJSといったけど、
Webpackとか言うのもあるらしい。
こっちのほうが優れているように見えるが、普及したのかな?

854:825
15/06/27 20:28:02.21 .net
皆さん、詳しいレスありがとうございます。
いろんな方法を教えて頂いたので一個ずつ試して、自分に合う方法を
見つけたいと思います。

855:Name_Not_Found
15/06/27 20:36:44.85 .net
この板もとりあえずID出すべきだな。

856:Name_Not_Found
15/06/27 21:13:34.87 .net
Browserifyとか

857:Name_Not_Found
15/06/27 21:42:05.40 .net
Browserifyっていうのもあるのか。
RequireJSは、RequireJSとして完成しまくってて
成長してないから、新しいのがほしいんだけど、
将来性がないのも困る。

858:Name_Not_Found
15/06/27 23:30:22.55 .net
webサイトに自分のfacebookページに投稿した内容を取得、
jqueryにて表示したいです。
新着情報のところにfacebookの投稿を取得、表示する感じです。
以前はrssやatomを取得できましたが現在はできず、
graphを利用するしか無いと思うのですが、
feedの取得にはアクセストークンが必要となります。
実際表示させるまではできているのですが、
アクセストークンをそのままコードに書き込むのは
セキュリティ的に問題ある気がするのですが問題ないのでしょうか?
ご指摘と、他によい方法があればご教示ください。
もし質問するのに他に適切な場所があれば誘導をお願いします。

859:Name_Not_Found
15/06/27 23:48:15.31 .net
>>844
アクセストークンの中にはシークレットキーとかいうのも含まれるんだよね?
だれでも見れるJavaScriptの中に埋め込んだらだめじゃないのかな?
サーバー側のアプリ(PHPなど)の中に埋め込んで
取得したものを、動的にHTML生成するって感じだと思う。
そもそも、あなたの情報をあなたが勝手に公開するのは構わないけど、
あなたの情報にアクセスできる方法を、あなた以外に渡す必要はないわけだし。

860:Name_Not_Found
15/06/28 13:59:37.20 .net
URLリンク(stackoverflow.com)

//----------------------------
function Person(){
  this.name = "Peter";
  Person.counter++;
  alert(Person.counter);
}
Person.counter = 0;
var p1 = new Person();
var p2 = new Person();
//----------------------------
なんですが、
 this.name
 Person.counter
が良く分かりません。
newで作ったp1では p1.name で取り出せますが、
Person.nameは見つかりませんでした。
一方、
Person.counterはありますが、
p1.counterは見つかりませんでした。
こういう理解で良いでしょうか?
 newで作成したインスタンスp1ではthis.xxxメンバ変数が作られ、p1.xxxで使える。
 newしなくてもPersonという実体は一個作られる。
 そのメンバ変数はPerson.xxxで扱える。
 Person.counterのcounterっていう変数の宣言は、Person.counter = 0;で初期化と一緒にやっている。
で良いですか?

861:Name_Not_Found
15/06/28 17:16:30.17 .net
>>837
詳細も何も
{
let filelocal_var = hoge
var global_var = fuga
}
ということなだけなんだが
>>832以上に説明することあるか?

862:Name_Not_Found
15/06/28 17:35:20.22 .net
>>847
古い話題より846もお願いします。よろしく。

863:Name_Not_Found
15/06/28 18:05:38.34 .net
>>847
>その中にある関数myfunc
はどうなりましたか?w
その例だけの話しなら即時関数使ってできるんですよ。
そんな答えは求めていません。一周遅れですか。
var global_var = fuga
(function () {
var filelocal_var = hoge
})()

864:Name_Not_Found
15/06/28 18:22:37.22 .net
edinetのxbrlデータを自動取得しようと考えているのですが、
何か良い方法はありませんでしょうか?
抽象的な質問で申し訳ありませんが、お答えいただけますと幸甚です。

865:Name_Not_Found
15/06/28 18:41:15.11 .net
自動的にedinetのxbrlデータを
取得すればいいのでは?

866:Name_Not_Found
15/06/28 21:48:45.30 .net
javascriptって、簡易言語って書いてあるが、全然簡単じゃないよな
javascriptを勉強して5年だが、やっと、日経ソフトウェアに載ってるJavascriptの
記事を読んで理解できるようになった。ここまでくるのに、時間食いすぎた。

867:Name_Not_Found
15/06/28 22:04:54.88 .net
プロが使うものに簡易なものなんてあるわけなかろう?
プロが欲しい機能が搭載されてるってことなんだから。
簡易言語っていうのがあるとすればプロは使わない言語だよ。
あと日経ソフトウェアは初心者向けだからな。
がんばれよ。

868:Name_Not_Found
15/06/28 23:36:29.44 .net
JavaScriptは取っ組みやすいが、奥が深すぎる言語であると思ってる

869:Name_Not_Found
15/06/28 23:38:41.81 .net
それはどんな言語でもそうだ。
奥が浅いのはCOBOLぐらいなもんだろ。

870:Name_Not_Found
15/06/29 04:07:12.16 .net
5年経ってやっとわかってくるのは、JSが奥深いからではない。
日経の記事でそこまで奥深い所を扱ったものはない。むしろJSerなら抑えておきたい基本の部類だ。
良い入門資料が少なく、それまでなんとなくやとりあえずの理解を積み重ねて来た結果そうなるだけ。
オブジェクトは参照型だと説明する、プロトタイプベースを放っておいて継承に突っ込む、
暗黙の型変換について(==からDateのことまで)まとめて説明しない、その他諸々。
結局はECMA仕様書を読むしかない。

871:Name_Not_Found
15/06/29 07:46:08.02 .net
仕様書よんだって、言語仕様に詳しくなるだけ。
それだけじゃ 実用的なアプリは作れない。

872:Name_Not_Found
15/06/29 08:17:50.73 .net
>>852は「作れるようになった」ではなく「理解できるようになった」
理解するために仕様書を勧めるのは間違いではないだろう
5年もかけて理解したのなら勉強法が誤っているとしか思えない

873:Name_Not_Found
15/06/29 11:08:07.76 .net
明らかにネタだからw

874:852
15/06/29 18:41:40.26 .net
現在作って公開してる、webアプリケーションは1つあって201X年から公開してます
uploaderを作りました。使ったのは、
javascript、html5、php、mysqlを使いました。
作った当時は継承やクロージャが理解でなかったので、継承もクロージャ
も使ってなく、自分でもコードが読めず、バグだらけで、今思えば酷い出来してた
2chで晒したときは、「~スレの住民なら3日で作れる」など言われました。

875:Name_Not_Found
15/06/29 18:59:10.86 .net
>>858
ある程度理解したら仕様書読むしか無くね
あのサイ本だって仕様書の内容噛み砕いたようなもんだし

876:Name_Not_Found
15/06/29 19:19:57.34 .net
なんだかんだ言ってここはJSerのたまり場だから安心する
他の質問サイトに行くとJava厨だかC厨だかがクラスだprivateだ
JSはオブジェクト指向言語ではないだなんだと全くJSを理解してない発言が並んで嫌になる
ほんとおまいら最高だわ
誇っていいぞ

877:Name_Not_Found
15/06/29 19:36:09.72 .net
msのtranslater apiを使ってテキストを英語にしたいんですがJavaScriptだけで実装している簡単なサンプルを見つける事が出来ません。どこかに有りませんか?
翻訳さえ出来ればms以外でも構いません。

878:844
15/06/29 19:39:13.03 .net
>>845
遅くなりましたが、ありがとうございました。
phpで表示できるようにしてみます。

879:858
15/06/29 20:15:07.27 YIb7Husk.net
>>861
>858から変わらず、仕様書を勧めているのだが…

880:Name_Not_Found
15/06/29 20:28:04.68 .net
中級者に仕様書を読んで重要な点を1から10まで理解しろというのは無理があるが
5位までは読み取れるはずだ。

881:Name_Not_Found
15/06/29 21:28:40.44 .net
仮に仕様書の内容を100%理解したとして
それはアプリを作るための知識の50%にも満たない。

882:Name_Not_Found
15/06/29 21:39:09.44 .net
>>856は作る以前に理解してない段階だと思うなあ
理解するだけでは作れないけど、理解しなければ作れない
理解は必要条件だよ

883:Name_Not_Found
15/06/29 21:46:03.47 .net
作るために必要な知識は、仕様書に書いてあることじゃない。
仕様書なんて1割程度、ほんの基本さえ知っていれば十分。

884:Name_Not_Found
15/06/29 22:34:04.74 .net
理解できない人に作り方を教える無意味さ

885:Name_Not_Found
15/06/29 23:39:38.01 .net
for内にスクロールイベント置いた場合正常に処理してくれますか?
また、置ける場合forの処理ってどうなるんですか?

886:Name_Not_Found
15/06/30 01:24:02.01 .net
JavaScriptが使えないクライアントは何%ぐらいいるのでしょうか?
・パソコン~%
・ガラケー~%
・スマートフォン~%
って風に答えてくれると嬉しいです。

887:872
15/06/30 02:21:47.93 .net
つか、読者参加型のサイトで、
読者に情報を投稿してもらおうと思っています。
その場合、投稿フォームをJavaScriptだけで作っちゃっていいものなのでしょうか?
たとえば、アマゾンで商品購入のさいにJavaScriptを使ってるけど、
JavaScriptが使えない人用のページも用意されているのでしょうか?

888:Name_Not_Found
15/06/30 03:33:02.35 .net
ブラウザのJavaScriptの機能を、オフにして、
そのサイトを見てみれば?

889:Name_Not_Found
15/06/30 05:10:22.30 .net
情報投稿サイトでX-Requested-With無しなんて俺ならディプロイしない。特にその情報が画像や動画ならJSオフを拾ってあげるなんてあり得ない。
要するにJSオンリーは最低限の必須事項だと思う。もうとっくにそんな時代だと断言できる。

890:Name_Not_Found
15/06/30 05:15:21.47 .net
>>863
おもむろに検索したら本家にコピペしてすぐ動きそうな例があっさりごろごろ見つかった。だから何が疑問なのか分からない。丸投げ?

891:872
15/06/30 05:36:23.12 .net
>>874
了解しました。
>>875
おお、ありがとうございます。
> 要するにJSオンリーは最低限の必須事項だと思う。もうとっくにそんな時代だと断言できる。
この言葉をまってました。

892:Name_Not_Found
15/06/30 05:38:32.20 .net
>>876
本家のサンプルってC#じゃあないの?
JavaScriptのサンプルって本家に無いだろ。

893:Name_Not_Found
15/06/30 07:53:26.81 .net
今やJavaScriptが動かない環境は気にしなくていい。
何故ならそれはデメリットを理解した上で何らかの理由によりあえてOFFにしてる人だから。
勿論あえてJSがOFFだと機能しないように作ることはない。
だがそんなことよりも動くけれど機能が限定されている環境をどう相手するかを考えたほうが有意義。
例えばau以外のフィーチャーフォンは昔からJSが利用可能だが、ES3相当なのと、Canvas等のHTML5周りのAPIは皆使えない。
まあこれは最低レベルの部分を見た話だが、そこまで行かなくとも考慮事項はたくさんある。
なんとかPEで頑張りたいところではある。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch