X



+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2016/02/24(水) 00:48:25.01ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
・回答者同士のレスは原則禁止(>>6を参照)
・ライブラリの話題の投稿(>>6を参照)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
0003Name_Not_Found
垢版 |
2016/02/24(水) 00:49:38.62ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
0004Name_Not_Found
垢版 |
2016/02/24(水) 00:50:06.78ID:???
■FAQ
http://fiddle.jshell.net/vSqKr/44/show/light/

◆開発者ツール(Developer Tools)の基本的な使い方 (全部はhttp://fiddle.jshell.net/vSqKr/44/show/light/#Browser-Developer-Tools )
 ▼諸注意
  - 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
  - IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
  - Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
  https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
 ▼要素を検証
 1. ページ上で右クリックして [要素を検証]
 2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
 3. 右側のサイドバーから知りたいステータス名のタブを選択する
   - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
   - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
   - [Properties] タブ … 選択したDOMノードのプロパティを表示
 ▼コンソール
 1. JavaScript コード上で console.log('Hello, World!'); と入力
 2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
 3. [Console] パネルに "Hello, World!" と表示される
 (※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)
0005Name_Not_Found
垢版 |
2016/02/24(水) 00:50:09.66ID:???
■前スレ
+ JavaScript の質問用スレッド vol.128 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1454390682/

■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■テンプレ案
http://fiddle.jshell.net/fH4cC/179/show/light/

■関連スレ
ECMAScript デス 4
http://peace.2ch.net/test/read.cgi/tech/1325448978/
CSS・sass・less・stylus 初心者スレッド=15th= [無断転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1453131115/
(X)HTML/CSS/Dreamweaverの質問に優しく答えるスレ20 [無断転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1452305316/
Canvasについて語ろう
http://peace.2ch.net/test/read.cgi/hp/1305093769/
0006Name_Not_Found
垢版 |
2016/02/24(水) 00:50:32.21ID:???
■FAQ(続き)
◆JavaScriptの実行速度
JavaScriptの速度は「ブラウザ名」「ブラウザのバージョン」「PCスペック」に依存します(ブラウザのバージョン毎に最適化具合が異なります)。
速度の疑問解消の為に http://jsperf.com/ にコードをUPしてブラウザ毎に速度計測する事を推奨します。
例外として、仕様における理論上の速度が明確になっている場合があります。
例えば、正規表現によるマッチング処理を考えた場合、「RegExp#test > RegExp#exec > String#match」は ES5 仕様で保証されています。
ES5 仕様において RegExp#test が最も処理数が少なく、String#match が最も処理数が多いことが明確だからです。
ブラウザによっては RegExp#test の最適化が十分でなく、String#match の最適化が RegExp#test より十分であれば逆転する可能性はありますが、各メソッドの最適化が一律であればこの前提が崩れる事はありません。

■各種仕様 ( http://fiddle.jshell.net/vSqKr/44/show/light/#Link も参照 )
◆ Standard ECMA-262
http://bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/ (ECMAScript 3 和訳)
http://www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
http://tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
http://www.ecma-international.org/ecma-262/6.0/ (ECMAScript 6 / ECMAScript 2015)
http://kangax.github.io/compat-table/es5/ (ECMAScript 5 compatibility table)
http://kangax.github.io/compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
http://www.whatwg.org/specs/web-apps/current-work/multipage/
http://momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
http://www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
0007Name_Not_Found
垢版 |
2016/02/24(水) 00:50:57.93ID:???
■各種仕様 (続き)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
http://www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
http://www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
http://www.w3.org/TR/uievents/ (UI Events)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
http://domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
http://www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
http://www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
http://www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
http://msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
http://msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
http://msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)
◆ JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
0008Name_Not_Found
垢版 |
2016/02/24(水) 00:51:40.75ID:???
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■前スレ
+ JavaScript の質問用スレッド vol.128 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1454390682/

■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■テンプレ案
http://fiddle.jshell.net/fH4cC/174/show/

■関連スレ
CSS・sass・less・stylus 初心者スレッド=15th=
http://peace.2ch.net/test/read.cgi/hp/1453131115/
Canvasについて語ろう
http://peace.2ch.net/test/read.cgi/hp/1305093769/
0009Name_Not_Found
垢版 |
2016/02/24(水) 00:52:07.43ID:???
JavaScriptで一番有名なDOM用ライブラリであるjQueryのスレです。
jQueryを使うとJavaScript単体では面倒な処理でもほんの数行で実現可能になります。

このスレはjQueryやjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
JavaScriptだけだと面倒だけどjQueryでもっと簡単に書けませんか?というのもOKです。

jQueryを使って作る側のスレであって、こんなプラグインありませんか?と
聞くスレではありません。そいうのは自分で探してください。
ろくにサポートもされてなさそうな野良プラグインの使用はおすすめしません。

前スレ
jQuery ライブラリ 総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400313626/
0013Name_Not_Found
垢版 |
2016/02/24(水) 01:24:56.54ID:vV29+qN3
前スレ>>1000

> LexicalBindingのthis

言い換えても無駄w
一般的な用語で言え
0014Name_Not_Found
垢版 |
2016/02/24(水) 01:25:33.25ID:???
thisがよくわからないと言っている人の
疑問の一つがこれなんだよ。

function Klass() {
  $("#id").on('click', function() {
    // ここのthisはなに? Klassのインスタンスじゃないの?
  }
}

ってことなんだよ。

function Klass() {
  var event = {}
  $("#id").on('click', function(event) {
    // でもこう書くと、eventはKlassのeventじゃないの?って疑問は起きない。
  }
}

何故かと言うと、Klassのeventはonclickのevent引数で隠されていると知っているから(よほどの初心者でもない限り)
thisもそれと同じように考えればいいという話をしている。

function Klass(this) {
  var event = {}
  $("#id").on('click', function(this, event) {
    // こう考えればeventと同じように呼び出し元が渡す変数で、
    // thisが何かなんて疑問は起きない。
  }
}
0015Name_Not_Found
垢版 |
2016/02/24(水) 01:25:59.05ID:???
アロー関数には "function” というキーワードは存在しないから、
先に行った、"全てのfunction" にはthisが存在する。という
定義には当てはまらない。(ドヤァw)

function Klass(this) {
  var event = {}
  $("#id").on('click', (event) => {
    // この場合でもthisが何かなんて疑問は起きない。
  });
}
0016Name_Not_Found
垢版 |
2016/02/24(水) 01:26:38.20ID:???
newの説明もつけ加えるならば、クラスもfunctionなのだから
thisという引数がある。

function Klass(this) {・・・}

このKlassを、Klass()と呼び出せば、ドットがないので
Klassのthisはグローバルオブジェクトのwindow。

obj.klass = Klass などして、obj.Klass() と呼び出せばthisはobj。

ここまでは一緒。

今まで出てきてないnewの話を「追加」するならば、
new Klass() と実行すると、Klassのインスタンスになるってだけだよ。

ルールをまとめると、ある関数を呼び出す時
・ドットの左側がある・・・this引数にドットの左側のオブジェクトが入る
・ドットの左側がない・・・this引数にグローバルオブジェクト(window)が入る
・callやapplyを使っている・・・ドットの左側と無関係に、callやapplyの第一引数がthis引数に入る。
・newを使っている・・・インスタンスオブジェクトが作ら、そのオブジェクトが入る。
0017Name_Not_Found
垢版 |
2016/02/24(水) 01:27:03.88ID:???
"全てのfunction" には thisという引数がある。と言った通り補完してみればわかるだろう。
呼び出し元側は脳内で補完してくれ。ドットの前がthis、ただしcallとapplyを使えばそれをすげ替えられる。

function appendFunction (this, fn1, fn2) {
 return function (this) {
  fn1.call(this);
  fn2.call(this);
 };
}

var a = 0;
var obj = {
  a: 10,
  hoge: function(this){
    this.a++;
  }
}

obj.hoge();
console.log(obj.a);
console.log(a);
obj.hoge = appendFunction( obj.hoge, function (this) { console.log(1); });
obj.hoge();
console.log(obj.a);
console.log(a);
0018Name_Not_Found
垢版 |
2016/02/24(水) 01:27:29.91ID:???
thisの話は >>401- ぐらいに書いた。

一言で言うならば 全ての "function" にはthisという名前の引数があると考えればいい。

return function (this) {
 fn1.call(this);
 fn2.call(this);
};

つまりこういうことだ。もしこのthisがvalueとかいう名前だとしよう。

return function (value) {
 fn1.call((value);
 fn2.call((value);
};

valueは何か?と聞かれたら、呼び出し元で渡したもの。と答えるだろう?
thisも同じだ。thisは呼び出し元で渡すものだ。だからここだけ見てもわからない。

obj.foo() と呼び出すと、.(ドット)の左側がthisとして渡される。
ドットの左側がなければグローバルオブジェクト(this)だ

ただし、ドットの左側がthisになるという挙動は変更することができ、
callやapplyを使うことで、ドットの左側ではなく任意のオブジェクトをthisとして渡すことが出来る。

ここまで理解すればお前の疑問も解けるだろう?
0019Name_Not_Found
垢版 |
2016/02/24(水) 01:28:29.42ID:???
JavaScriptで一番有名なDOM用ライブラリであるjQueryのスレです。
jQueryを使うとJavaScript単体では面倒な処理でもほんの数行で実現可能になります。

このスレはjQueryやjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
JavaScriptだけだと面倒だけどjQueryでもっと簡単に書けませんか?というのもOKです。

jQueryを使って作る側のスレであって、こんなプラグインありませんか?と
聞くスレではありません。そいうのは自分で探してください。
ろくにサポートもされてなさそうな野良プラグインの使用はおすすめしません。

前スレ
jQuery ライブラリ 総合質問所 vol.4
0020Name_Not_Found
垢版 |
2016/02/24(水) 01:31:05.94ID:???
jqueryのバージョンが多すぎてどれを使えばいいか分かりません
0021Name_Not_Found
垢版 |
2016/02/24(水) 01:32:12.87ID:???
>>20
単純に最新版を使えばいいと思うけど?
0022Name_Not_Found
垢版 |
2016/02/24(水) 01:33:00.04ID:???
jQueryでカレンダーのプラグインがほしいです
表示方法としては端っこに小さく表示するということです
FullCalendarを導入してみたのですがサイズ変更をしてみると幅が狭くなったのですが縦が少し変になってしまいました(スクロールしないと月末が見れない)
小さなサイズで月末まで一目で見れるプラグインってありますか
0024Name_Not_Found
垢版 |
2016/02/24(水) 01:36:40.53ID:???
■教えていただきたいこと
自サイト内で、別サイトを読み込み、印刷したいのですが、
以下2点以外の方法はありますでしょうか?
もしくは、「Tryしたこと1」でAirPrintから印刷できるようにするにはどうしたらよろしいでしょうか?

■Tryしたこと1
自サイトからfancyboxでポップアップを出して、その中に別サイトを読み込んたのですが、
AirPrintから印刷できなかったため、この手法は却下。

■Tryしたこと2
iframeで別サイトを埋め込む方法を検討したのですが、
埋め込み先のサイト側が、htaccessでX-Frame-Optionsヘッダに
DENYやSAMEORIGINを設定していた場合、読み込むことができないため却下。

以上、よろしくお願いいたします。
0026Name_Not_Found
垢版 |
2016/02/24(水) 01:38:58.13ID:???
enchant.jsについての質問です。
「ゼロから始めるenchant.js入門」という本に載っているバーチャルキーパッドを動かすプログラムを作成したのですが、なぜかバーチャルキーパッドが反応しなくて困っています...ソースコードをお手本からコピーしても動きませんでした。どなたか解決方法をお願い致します。

http://jsdo.it/qa/407
0027Name_Not_Found
垢版 |
2016/02/24(水) 01:39:59.02ID:???
>>25
回答がないのでこちらでも質問しました
0028Name_Not_Found
垢版 |
2016/02/24(水) 01:41:17.32ID:???
このスレを本スレにしようと必死だなw
0029Name_Not_Found
垢版 |
2016/02/24(水) 01:43:49.28ID:???
[Ex Code Prettify]の使い方について質問です。
http://www.cyokodog.net/blog/ex-code-prettify-doc/

デモエリア、HTML、CSSを表示したいのですが、
CSSを書くと、デモエリア以外にもそれが反映されてしまいます。
たとえばCSSに
* {text-decoration: underline;}
と書くと、HTML部分やCSS部分など、ページ全体全てに下線がついてしまいます。
CSSに書いたものをデモエリアにのみ反映させることは不可能でしょうか?
0030Name_Not_Found
垢版 |
2016/02/24(水) 01:48:17.79ID:???
google map を利用したアプリを趣味で作成しているものです。 google map で現在地は取得できましたが、常にリダイレクトしないと更新されない状態です。 リダイレクトしないで、更新する方法がありましたらどうかご教授願いますでしょうか。
0032Name_Not_Found
垢版 |
2016/02/24(水) 01:54:03.98ID:???
もうム板でいいんじゃねーか?w
0033Name_Not_Found
垢版 |
2016/02/24(水) 01:55:29.47ID:???
Node.jsを勉強していてふと気になったので、質問しました。
以下のコードはドットインストールにあった、POSTされたデータをpostsという配列に組み込んで表示するというものなのですが、
readableイベント内で、read()を使って、リクエストされたデータをreq.dataに入れるときに、=ではなく+=を使っています。=でもいいのかと思いきや、
=の場合はconsole.log(req.data)の結果がBufferという謎の文字列になってしまいます。

これは一体どういうことなのでしょうか?
どなたか解説をお願いいたします。
http://ideone.com/1Tc7fB
0036Name_Not_Found
垢版 |
2016/02/24(水) 01:57:54.56ID:???
荒らしにかけちゃすげえ情熱だな
人生もったいないぞ
0037Name_Not_Found
垢版 |
2016/02/24(水) 02:00:26.31ID:???
あちこちからコピペして何がしたいんだろう?
0038Name_Not_Found
垢版 |
2016/02/24(水) 02:28:59.58ID:???
前スレの話し相手がいなくなって暇なのだろう
寂しがり屋だな
0043Name_Not_Found
垢版 |
2016/02/24(水) 02:55:58.20ID:???
片っ端から乱立したのageてさすがにやりすぎだろ
爆破予告とか猫殺す前に病院行けよ
0045Name_Not_Found
垢版 |
2016/02/24(水) 03:42:17.06ID:???
このスレは間違いです。

+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1454391152/
+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1456242835/
+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1456242505/
+ JavaScript の質問用スレッド vol.129 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1456250334/
+ JavaScript の質問用スレッド vol.129 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1456252519/
+ JavaScript の質問用スレッド vol.129 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1456252733/
0046Name_Not_Found
垢版 |
2016/02/24(水) 09:54:21.86ID:???
スレ乱立してるな。
これにしようか。
0047Name_Not_Found
垢版 |
2016/02/24(水) 14:16:09.89ID:???
すまん自分が構ったばっかりに
本当にごめん
0048Name_Not_Found
垢版 |
2016/02/24(水) 18:01:41.56ID:???
http://fiddle.jshell.net/fH4cC/179/show/light/ で立てようとしてるが、未だに規制で立てらなかった
代行依頼も利用しようとしてるが、ストーカーが別スレにコピペして荒らしだと思われているようで受け入れてもらえない
何とも念入りな荒らしだな...
0049Name_Not_Found
垢版 |
2016/02/24(水) 18:09:25.41ID:???
まだ立てる気かよ。このまま使えばいいだろ。
0053Name_Not_Found
垢版 |
2016/02/25(木) 13:39:19.73ID:???
ここが一番書き込みの勢いが高いから来たけど本スレはここでいいですか?
vue.jsの質問害したいんですがここでいいですか?
最適なスレがございましたら誘導してください。
0054Name_Not_Found
垢版 |
2016/02/25(木) 14:55:17.68ID:3FqzHawt
>>26
2chよりも、jsdo.it 内で、質問すれば?

>>33
これら2つは、異なるもの
a = x
a += x

a += x は、a = a + x
と同じ意味だから、追加している
0055Name_Not_Found
垢版 |
2016/02/25(木) 19:54:52.76ID:???
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.
0056Name_Not_Found
垢版 |
2016/02/26(金) 10:31:11.90ID:???
何なの?出会い系サイトに登録して迷惑メール大量受信されたいの?
0057Name_Not_Found
垢版 |
2016/03/01(火) 11:59:05.87ID:???
こういう質問はするべきじゃないんでしょうが
callとapplyの意味が冗談抜きで理解できません
thisを呼び出す?みたいな言葉はなんとなくわかるんですが一体何がどうなるのか全くわかりません
0058Name_Not_Found
垢版 |
2016/03/01(火) 14:55:42.11ID:???
で、質問は?
ここはあなたのお悩み相談所じゃありませんが
0059Name_Not_Found
垢版 |
2016/03/01(火) 16:23:29.90ID:???
>>57
thisに関しては上の方に書いたよ。関数の隠れ引数みたいなものだって。
まあどんな所で使えばいいかわからないんだろうけどね。ぶっちゃけ殆ど使わないよw

たとえば、alert()ってあるよね? 正確に言うとwindow.alert()
のwindow.alertっていう関数を別の変数に入れて実行しても動く。
var a = window.alert; a(); ← これは動く

でもこれは動かない。
document.a = window.alert; document.a();
なぜならaという関数の中では、thisはwindowであることが前提となっているから。

こういうときに強制的に、thisを変更するのがcallとapply
document.a.call(window); とすれば動くわけよ。

単純な処理ではこんなことしないのでcallやapplyは使わない。
だけどフレームワークやライブラリみたいなものになると使いたいことがでてくる。

例えばjQuery

$("button").on('click', function() {
  // ここのthisはDOMのbutton要素になる
});

こういう仕組みを作りたいと思った時。on関数っていうのは引数のコールバック関数を
ライブラリ内の変数の何処かに保存しておきたくなるわけだけど、そのコールバック関数を呼び出す時に
コールバック関数のthisをbutton要素にしたい。と思ったとするだろう?
そういうときにcallやapplyを使えば、保存した変数がどこであっても、自由にthisを設定できる。

もしcallやapplyが存在しなければ、この仕様を作るためには、
button.dummy = コールバック関数; button.dummy() なんてことをしなければならなくなるわけ。
0060Name_Not_Found
垢版 |
2016/03/01(火) 16:38:10.23ID:???
少し例を変えたほうがいいかな。

window.dummy = window.alert;
window.dummy(); ← これは動く

document.dummy = window.alert;
document.dummy(); ← これは動かない。
なぜならdummy関数の中ではthisはdocumentだから


jQueryのコールバック関数の中で、thisをbutton要素にしたいのなら
callやapplyがなかったとしたら、
button.dummy = コールバック関数
button.dummy() としなければならない。
button要素にdummy関数なんてものを生やす必要が出てくる。

callやapplyがあるおかげで
コールバック関数.call(button) とするだけで良くなる。
0061Name_Not_Found
垢版 |
2016/03/02(水) 04:05:08.54ID:???
犬オブジェクトでは、鳴くことができる。
犬.鳴く

でも、猫オブジェクトには、鳴くメソッドがないけど、猫にも鳴かせたいとき、
this に猫オブジェクトを設定して、鳴かせてみよう

猫.鳴く
0062Name_Not_Found
垢版 |
2016/03/02(水) 06:16:01.22ID:???
犬オブジェクトでは、鳴くことができる。
犬.鳴く ワン!

でも、猫オブジェクトには、鳴くメソッドがないけど、猫にも鳴かせたいとき、
this に猫オブジェクトを設定して、鳴かせてみよう

猫.鳴く ワン!



鳴く(関数)が一緒なので当然こうなります。
0063Name_Not_Found
垢版 |
2016/03/02(水) 08:39:45.99ID:???
いつまで連投してんのこのゴミ
0064Name_Not_Found
垢版 |
2016/03/02(水) 10:39:21.72ID:???
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。

★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 

アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。

■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。

■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。

■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!

■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。

■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。

※真剣な告知です。冷やかしはご遠慮ください。

井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
0065Name_Not_Found
垢版 |
2016/03/02(水) 19:57:31.41ID:???
下記のソースはランダムに中身を1つ選んで表示するというものです。
これを中身をランダムに被りなく3つ取り出すようにしたいのですがどう書くといいのでしょうか?

var msg = new Array();

msg[0] = 'aaaa';
msg[1] = 'bbbb';
msg[2] = 'cccc';
msg[3] = 'dddd';
msg[4] = 'eeee';
msg[5] = 'ffff';

var no = Math.floor(Math.random() * msg.length);

document.write(msg[no]);
0066Name_Not_Found
垢版 |
2016/03/02(水) 20:27:01.84ID:???
>>65
配列から取り出した要素を消すor取り出した要素を覚えて置いて一致したら再度ランダムに取得する
0067Name_Not_Found
垢版 |
2016/03/02(水) 21:08:47.63ID:???
試行錯誤のすえできました
0069Name_Not_Found
垢版 |
2016/03/03(木) 07:13:32.46ID:???
>>59>>60
今更だけどありがとう・・・!
このレスがきっかけでようやく理解できました
0071Name_Not_Found
垢版 |
2016/03/03(木) 15:09:30.74ID:???
>>68
var msg = [
'aaaa',
'bbbb',
'cccc',
'dddd',
'eeee',
'ffff',
];
この書き方は初めて知りました。

しかし、肝心の
console.log(_.sampleSize(msg, 3))
が上手く表示されませんでした。
すみません。
0072Name_Not_Found
垢版 |
2016/03/03(木) 19:34:07.64ID:???
Cの「関数のポインタ」みたいに
 var _a = window.alert;
 _a('test');
は出来るのに
 var _w = document.write;
 _w('test');
が出来ないのは何故ですか?
0073Name_Not_Found
垢版 |
2016/03/04(金) 02:15:10.93ID:???
>>72
object.method() と実行した時、
methodの中では、thisはobjectだけど、

var _method = object.method;
_method() と実行する時、つまり.(ドット)の前がない場合は
_methodの中ではthisはグローバルオブジェクト(ブラウザではwindow、nodeではglobal)と
仕様で決められているから。

_a('test) も _w('test') も thisは両方windowになっている。
0074Name_Not_Found
垢版 |
2016/03/04(金) 03:35:01.13ID:???
>>71
lodashっていうライブラリを読み込まないとだめだよ。
https://lodash.com/

ドキュメント見たりググればわかるけど、このコード実行前に、
HTMLの書いたscriptタグでlodash.jsを読み込む必要がある。
0075Name_Not_Found
垢版 |
2016/03/04(金) 14:45:50.55ID:???
>>73
ありがとうございます。
呼ばれた先にthisに依存する参照があるという事ですね。
0076Name_Not_Found
垢版 |
2016/03/04(金) 15:03:14.31ID:???
>>75
そうそう。関数の内部でthisを使ってるかどうかは、中を見ないと分からないが、
呼び出し方によってthisが変わるわけで、中でthisを参照していれば
当然呼び出し方によって、動いたり動かなかったりする。
0077Name_Not_Found
垢版 |
2016/03/06(日) 23:17:53.33ID:???
質問というかJavaScriptの感想を教えてくれ

1.習得に必要な期間
受講生は他のプログラムに触れたことがあり、一日5時間勉強にあてられる
最終目標は簡単なプログラムを何も見ずに作れる程度

2.JavaScriptの利便性
今後も使われることは増える可能性があるか
0078Name_Not_Found
垢版 |
2016/03/06(日) 23:27:22.35ID:???
>>77
簡単ってなんだ?テトリスぐらいか?
可能性は無限だからがんばれ
0079Name_Not_Found
垢版 |
2016/03/07(月) 01:56:50.99ID:???
JavaScriptは今後毎年仕様が追加されて使いやすくなっていく。
今からでも学ぶ価値があるし、
将来性も高い。
デスクトップアプリも作れるようになってるしね。
慣れたらtypescriptに手を出してもらいたい。
ちょっと追加の言語仕様を学ぶ必要はあるけど、
ライブラリの必要パラメータとかある程度教えてくれるようになるから
周辺ライブラリの学習に役立つ。
0080Name_Not_Found
垢版 |
2016/03/07(月) 02:06:36.71ID:???
>>79
仕様の追加と使い易さとは同意じゃない
0081Name_Not_Found
垢版 |
2016/03/07(月) 03:57:09.90ID:???
prototypeを使ったクラスメソッド定義の際
prototype={}が駄目な理由ってなんですか?
というかconstructorの必要性が分かりません
0082Name_Not_Found
垢版 |
2016/03/07(月) 07:43:15.44ID:???
他の言語使えるヤツなら3日で覚えるだろこんなクソ言語
0083Name_Not_Found
垢版 |
2016/03/07(月) 08:18:11.35ID:???
>>82
他の言語の経験が活かせて3日で覚えられるということは、
クソ言語ではないということですよ。
似ているということなんだから。
0084Name_Not_Found
垢版 |
2016/03/07(月) 09:49:43.77ID:???
3日で覚えて5日で頭きて7日で捨てる
0085Name_Not_Found
垢版 |
2016/03/07(月) 09:51:29.51ID:???
3日頑張って5日で理解できず7日で捨てる
0086Name_Not_Found
垢版 |
2016/03/07(月) 12:46:29.53ID:???
センスないやつほど忌避する言語ではあると思う
0087Name_Not_Found
垢版 |
2016/03/07(月) 13:20:45.94ID:???
グローバル変数をローカルで使用する時のみ変更するって事できますか?

var hoge['ichi'] =0;

function test1(){
hoge.ichi =1
console.log(hoge.ichi);
}

function test2(){
console.log(hoge.ichi);
}

test1();;←1になる
test2();←0に戻ってる
0088Name_Not_Found
垢版 |
2016/03/07(月) 13:38:40.00ID:???
えっ?
グローバルからは、アクセス禁止にするっていうこと?
純粋に変数じゃ無理じゃないの?
どっちにしても、オブジェクトにしないと行けないと思う
0089Name_Not_Found
垢版 |
2016/03/07(月) 16:23:11.96ID:???
>>87
何をいっているかわからないがクロージャーを使うのはどう?

function hoge() {
var ichi = 0;
return [function () {
ichi = 1;
},
function () {
console.log(ichi);
}];
}
var _a = hoge(), func1 = _a[0], func2 = _a[1];
func1(); //ichi <- 1
func2(); // console.log(1)
0090Name_Not_Found
垢版 |
2016/03/07(月) 16:33:15.86ID:???
>>77です。
お答えいただけて嬉しい限りです。
参考にさせていただきました。
ありがとうございました。
0092Name_Not_Found
垢版 |
2016/03/15(火) 02:34:05.45ID:???
ES2015のクラス定義について聞きたいんですが
アロー関数のようにthisを束縛した状態でメソッド定義する方法ご存じないですか?
以下のようにするしかないんですかね?面倒くさいんですが、、、、

class RadioOther{
constructor(props) {
this.onRadChange = this.onRadChange.bind(this);
}

onRadChange() {
...
}

...

}
0093Name_Not_Found
垢版 |
2016/03/15(火) 04:12:48.07ID:???
>>92
何をしたいのか全くわからん。
これでいいだろ。

class RadioOther{
 constructor(props) {
  // 不要
 }

 onRadChange() {
  ...
 }

 ...
}
0094Name_Not_Found
垢版 |
2016/03/15(火) 12:28:31.81ID:???
>>93
setIntervalとかにメソッドを登録するとthisの指す先が変わってくるので
それをなんとかしたいって話です。
>>92 の方法が一番簡単なんですかね。でももっとclass定義の仕方として
良いやり方がないかなと
0095Name_Not_Found
垢版 |
2016/03/15(火) 12:46:06.36ID:???
>>92
やろうとしていることがJavaScriptの良いところを殺してしまっている感じ
ここは本スレじゃないから>>91で質問し直した方がいい気がする
0096Name_Not_Found
垢版 |
2016/03/15(火) 13:56:41.03ID:???
>>94
クラス関係ないじゃん。

setInterval(this.onRadChange.bind(this), 2000)

だろ。
0097Name_Not_Found
垢版 |
2016/03/17(木) 09:33:04.40ID:???
>>94
_this = this
で参照を保存しておけば?
0098Name_Not_Found
垢版 |
2016/03/29(火) 21:22:41.79ID:???
var Object ={};がありまして
このObjectの中にあるプロパティとメソッドの返り値をconsole.log()で表示したいです
どうすればいいでしょうか?
009998
垢版 |
2016/03/29(火) 21:23:40.89ID:???
言い忘れました
このObjectの中にある全てのプロパティとメソッドを
です
0103Name_Not_Found
垢版 |
2016/04/10(日) 21:41:53.52ID:FKlZV5kk
6
0104Name_Not_Found
垢版 |
2016/04/11(月) 11:24:28.68ID:???
>>86
こういうjsしかできない奴だ本気で引くわ
普通に冗長なクソ言語たぞ
0105Name_Not_Found
垢版 |
2016/04/11(月) 13:35:24.80ID:???
>>104

まあまあ、LLにそんな目くじら立てるなよjk
余裕が無いぜぇw
0106Name_Not_Found
垢版 |
2016/04/29(金) 09:18:36.26ID:???
for (;;)
ソースコードでこういう文があったんですが
コレってどういう意味ですか?
0108Name_Not_Found
垢版 |
2016/04/29(金) 10:31:02.04ID:???
breakされるまで繰り返されるって事ですかありがとうございます
0110Name_Not_Found
垢版 |
2016/08/23(火) 09:31:24.74ID:4JHWgrUb
窓から投げ捨てるって久しぶりに見た
もしかして2000年代半ばからずっと服役してたの?
0111Name_Not_Found
垢版 |
2016/08/23(火) 10:21:38.94ID:???
今でも少女や赤ちゃんや犬が窓から投げ捨てられる事件が絶えないから
見ないって事は無いね
0112Name_Not_Found
垢版 |
2016/08/23(火) 20:59:11.40ID:???
>>110
ネットで流行る前からある表現だから、
ネットでの流行り廃りを基準にされても困る。
0115Name_Not_Found
垢版 |
2017/01/25(水) 21:39:07.04ID:ZVR50s72
たぶんここが本スレだと信じて質問です。
Windows7-Pro ブラウザはFirefox50.1とChrome55.0

モニタリングシステム構築の予行としてPC内で周期的にダミーデータを発生させて、それを
クライアント(Webブラウザ)で周期的に読み取って表示させたいです。

つまり本来の構成は、
 測定装置(データ)→ PC[サーバー] → JavaScriptで読み取りブラウザ表示

なのですが、予行演習として
 PC[ダミーデータ生成] → JavaScriptで読み取りブラウザ表示

をしたいです。 データ生成と読み取りの周期は1秒か1分とかの間隔です。

このとき問題になると思ったのが、ファイル生成(上書き)の周期と読み取りの周期が
タイミング的に重なった場合のバッティング(かち合い)で、回避策はありますでしょうか?
※要は書き込んでる最中やデータ更新中はブラウザが読み取るのを回避したい

PHPは必要とあらば(基本レベルですが)使用可能です。バージョンは5.6.28です。
宜しくお願い致します。
0116Name_Not_Found
垢版 |
2017/01/26(木) 00:13:08.63ID:???
ネットワークを介してタイミングを合わせるのはキビしいので
サーバー側から能動的、定期的にデータを送信→ブラウザ側でイベント発生
の流れが無難かと

Server-sent eventsかWebSocketsになるんかな
0117Name_Not_Found
垢版 |
2017/01/26(木) 00:16:53.08ID:???
>>115
普通にファイルにロックかければいいいよ
0118Name_Not_Found
垢版 |
2017/02/04(土) 00:09:59.96ID:O6ZJwVEB
何もしていない普通の一般人の自宅に隠しカメラを取り付け
それをネットでリアルタイム配信

仲間という人間に対する盗聴盗撮生ネット配信の会

しかけたカメラの映像
乗っ取っているPCの画像をリアルタイムで生配信中
集団で仲間の私生活を覗いて楽しんでいる

そんなことが今この国では行われています
0119Name_Not_Found
垢版 |
2017/02/13(月) 17:32:09.29ID:???
質問なのですが、アコーディオンで閉じるボタンをつけるには
どういう方向にいじっていけばいいのでしょうか?

これで開閉するようにはなったのですが、これの下に更に閉じるボタンをつけて
それを押すと全体が閉じるようにしたいです。

<script type="text/javascript">
function layer_toggle(obj) {
if (obj.style.display == 'none') obj.style.display = 'block';
else if (obj.style.display == 'block') obj.style.display = 'none';
}
</script>

<a href="#" onclick="layer_toggle(document.getElementById('more1’));return false;" class="open">クリック開閉</a>
<div id="more1” style="display: none;">
中身
</div>

✕閉じる (←ここに入れたい)
0120119
垢版 |
2017/02/14(火) 14:43:10.40ID:???
↑自己解決しました。
0121Name_Not_Found
垢版 |
2017/02/16(木) 19:56:12.98ID:0VIQrc/q
JSDocで、「これはわざと未使用の関数ですよ(だから未使用っつー警告出すなよ)」
というのを宣言したいんだけど、どうしたらいいの?
0122Name_Not_Found
垢版 |
2017/02/16(木) 22:13:03.38ID:???
_変数名 ってすりゃいいんじゃねーの?
0123Name_Not_Found
垢版 |
2017/02/19(日) 19:49:04.38ID:???
selectタグのリストを選んだ時にページの他の部分が書き換わるのってどうやって作ってると思う?
selectタグの中にはonclickとかonchangeは書いてなかった

イベントリスナーとかで何処かで登録してる感じなのか?
jqueryは使ってたみたいだけどそのタグの部分はidとかnameはあったけどそのままの名前でつこうてるのはなかった

解析の定石みたいなのあったら教えて
環境はie11です
0124Name_Not_Found
垢版 |
2017/02/20(月) 02:12:59.41ID:???
> selectタグの中にはonclickとかonchangeは書いてなかった
それが普通
0125Name_Not_Found
垢版 |
2017/02/20(月) 02:39:04.01ID:???
>>123
ChromeかFirefoxを使え。jQueryで設定したイベントリスナーを
簡単に調べることができる。


Chrome
http://qiita.com/zaru/items/b7732ebad9b732518359
補足 見る方法は変わってないが、今はjQueryで設定されたイベントリスナーを直接見れるようになってる

Firefox
https://developer.mozilla.org/ja/docs/Tools/Page_Inspector/How_to/Examine_event_listeners



jQueryはよく使われているので、ブラウザが直接対応してくれてる。
もしこれが自分で作ったライブラリとかであれば、面倒なことになるだろう。
これもまたオレオレライブラリではなく、有名なライブラリを使ったほうがいい理由の一つ
0126Name_Not_Found
垢版 |
2017/02/21(火) 01:58:17.07ID:???
レスありがとうございます

閉じた環境なんでChromeとかはインスコとかは出来ないけど
jsの飛んでるところを見つけれました

jqueryのonchangeだったと思うけど
onchangeとかを直接呼んでも動かなかったけど
blur呼んだらイベントが反応しました

やっぱブラウザとかは新しいのが欲しいですねぇ…
0127115
垢版 |
2017/02/23(木) 05:21:31.58ID:???
>>116-117さん有難うございます
(すいません、本業が忙しくて返事できませんでした)

先ほどレスしようとしたのですが、Rock54のNGワードに引っ掛かりましたので、
別途テキストファイルでレス文をUpします。
http://uproda.2ch-library.com/9621868KS/lib962186.txt
0128Name_Not_Found
垢版 |
2017/02/23(木) 21:59:41.44ID:???
そういうときはNGっぽいものを変更すれば良いんだよ。
大抵はURLに問題がある

Server-sent eventsは初めて見ましたので今勉強しています(なるほどプッシュ通知の一種か)。
WebSocketsはリアルタイム通信で使うとのことですが、この種のものに
「Milkcocoa」 https://mlkcca.com/ があるそうなのでこれも候補にしています。

ファイルロックを含め、また勉強してみます。

なお、基本的なところで、XMLHttpRequestを https://allabout.co.jp/gm/gc/24097/#2 と
http://qiita.com/sirone/items/412b2a171dccb11e1bb6 を元に試しにテキスト読み込みJSを
作ったのですが、Firefoxだと問題無いのですが、GoogleChromeだとセキュリティの見地から
ややこしいことになってますねw

あと、XMLHttpRequestでテキストファイルでは
http://anago.open 2ch.net/test/read.cgi/software/1339905697/317i のように
xhr.responseType = "text"が必要でした(これが無いと「整形式になっていません」が出る)

以上、有難うございました。
0129Name_Not_Found
垢版 |
2017/03/01(水) 11:08:39.16ID:d35vVIm+
この書き方では、aaaの直下のdiv だけが取得できますが、
var div_ary = document.querySelectorAll( "#aaa > div" );

こう書くと、aaaのすべての子孫の、divが取得されます
var aaa = document.getElementById("aaa");
var div_ary = aaa.querySelectorAll("div");

element.querySelectorAll つまり、レシーバーがelement の書き方で、
レシーバーの直下のみを取得する、書き方はできますか?
0130Name_Not_Found
垢版 |
2017/03/01(水) 11:37:46.56ID:PEYUsVp2
【環境】Mac Chrome
【期待する結果】

<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
・↑のような要素が連続して配列されている場合に、要素の3番目だけに要素を追加して
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“unko”>unko</div>
<div class=“hoge”>hoge</div>

という結果に出力したいんだけど、どうすればいいでしょうか…?

【サンプルコード】
//追加
var elmDiv = document.createElement('div’);
//省略
var hoge = document.getElementsByClassName(‘hoge’);
hoge[0].appendChild(elmDiv);

↑のhoge[0]の数字を3にしても3番目に追加できないんですが何か間違ってるんでしょうか・・・
0131Name_Not_Found
垢版 |
2017/03/01(水) 12:16:30.31ID:PEYUsVp2
>>130ですが、

<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<スクリプト>

スクリプトを書き出す場所を配列の下にするとうまくいくんですが、


<スクリプト>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>

こういう形だとうまくいかないんですよね。。
後者の形で任意の配列への要素の追加はできないものなのでしょうか?
0132Name_Not_Found
垢版 |
2017/03/01(水) 12:42:02.01ID:???
>>130
【JavaScript】要素を追加するinsertBeforeとappendChildについて
http://www.task-notes.com/entry/20161020/1476974565

配列のインデックスは、[0]から始まるから、3番目なら、配列[2]になる

また、ソースコードには、半角しか使えない。
全角の「”’」などは使えない
0133Name_Not_Found
垢版 |
2017/03/01(水) 13:20:07.47ID:???
>>131
<div></div>
<スクリプト>
これなら、DOMが構築された後に、スクリプトが実行される。

<スクリプト>
<div></div>
これは、DOMが構築される前に、スクリプトが実行されるから、
スクリプト実行時には、<div>は存在しない

DOMが構築された後に、処理を行う。
addEventListener とか

HTMLの読み込みが完了してから実行
http://qiita.com/cervomansan/items/0873026853686503fc3a

初心者は、jQuery を使った方がよいかも
0134Name_Not_Found
垢版 |
2017/03/01(水) 23:30:08.76ID:???
初心者ならなおのことjQueryじゃなくて普通のDOM使ったほうが良いだろ
簡単な命令だけを使って手続き型で書けばいいから
初心者にも理解しやすい

jQueryだとリストで考えないといけないから慣れが必要
そういうのは開発コストを重要視するプロが使うもの
難しい反面、短いコードで記述できる
0135Name_Not_Found
垢版 |
2017/03/01(水) 23:42:42.06ID:???
jQueryで書いた場合

$('.hoge:nth-of-type(3)').before('<div class="unko">unko</div>');
または
$('.hoge:nth-of-type(3)').before($('<div/>', {class: "unko", text: "unko"}));
または
$('<div/>', {class: "unko", text: "unko"}).insertBefore('.hoge:nth-of-type(3)');
0136Name_Not_Found
垢版 |
2017/03/02(木) 14:28:49.97ID:2UbAw4eC
Array.prototype.forEach()が使えるのは、IE9 からとか、
こんな事を一々、素人が気にしていられない

漏れはプログラマーだから、冗長になるけど、for ループを使っておくとか出来るけど、
素人には、jQuery の方が楽

insertAfter()は、jQueryにはあるけど、JSには無いとか、愕然とするやろ!
insertBefore()だと、想定外の所に、要素が追加される

>>129
それと、わかる人がいれば、お願いします。
これも、jQueryなら簡単
0137Name_Not_Found
垢版 |
2017/03/02(木) 19:05:35.27ID:???
>>136
var div_ary = aaa.querySelectorAll(":scope > div");
0138Name_Not_Found
垢版 |
2017/03/02(木) 19:29:32.45ID:3yhtaKdg
>>133
回答のほどありがとうございます!
window.onload = function () {};
で解決しました!

重ねて回答してくださった皆さんに感謝です!
よかった〜
0139Name_Not_Found
垢版 |
2017/03/02(木) 22:38:52.06ID:???
>>137
それってscoped cssってやつ?
http://caniuse.com/#search=scoped
なんか仕様から消えちゃったみたいだけど

>>136
> Array.prototype.forEach()が使えるのは、IE9 からとか、
> こんな事を一々、素人が気にしていられない
気にしていられないの意味はなんかね?

動くかどうか気にしない。だから動かないこともあるってこと?
プロは許されないけど、素人なら許されるでしょ

素人なら自分が使ってるブラウザの標準DOMとか
JavaScriptだけでテストして動けばOK。

プロはそういう訳にはいかないからjQuery使うんだけど
(自分で頑張って全てのブラウザでテストするっていうのは
コスト意識がないのでプロ失格なので注意な)
0140Name_Not_Found
垢版 |
2017/03/03(金) 11:39:08.14ID:ZzsinrRm
すみません、再度質問したいことがありまして。。
appnadChildのように要素を親要素の中に挿入するのではなく、要素の次に別のノードを追加する形にしたいのですが。。
0141Name_Not_Found
垢版 |
2017/03/03(金) 11:45:26.11ID:KKtetC6I
親要素の中に追加要素を割り込ませるのではなく、純粋に指定した要素の次に追加要素を配置できるメソッドってあるんでしょうか

<div></div>
<div>
 <div>要素</div>
</div>
<div></div>

という形ではなく、

<div></div>
<div></div>
<div>要素</div>
<div></div>

という形にすることってできますかね。。
0142Name_Not_Found
垢版 |
2017/03/03(金) 11:47:36.30ID:KKtetC6I
insertBeforeの場合、

<div id=“hogege”>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
<div>追加</div>
<div class=“hoge”>hoge</div>
<div class=“hoge”>hoge</div>
</div>

と言うように包括する親要素が必要なんですよね。。
純粋に指定した要素の次に追加要素を配置できるメソッドがあればお教え頂きたいです。。orz
0143Name_Not_Found
垢版 |
2017/03/03(金) 14:06:49.15ID:???
追加場所.parentNode.insertBefore(追加, 追加場所)

これで追加場所の上に追加されるよ
<html>以外は親要素が必ずあるから
0144Name_Not_Found
垢版 |
2017/03/03(金) 14:47:59.09ID:???
insertAfterみたいなことがやりたいなら

referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling)

bodyで包括されてるんだし、わざわざ新規に親要素を作る必要はないわな
0145Name_Not_Found
垢版 |
2017/03/03(金) 22:23:48.96ID:???
>>141
> 親要素の中に追加要素を割り込ませるのではなく、純粋に指定した要素の次に追加要素を配置できるメソッドってあるんでしょうか

ない。DOMで用意されてるのは基本的な命令だけなので、
そのような特殊な条件の場合は自分でそういうコードを書かないといけない。
それが面倒だからjQueryがある。
0146Name_Not_Found
垢版 |
2017/03/04(土) 01:18:45.00ID:???
結局、自分で関数を作っていくと、jQueryと同じものを作ることになる

しかも、自分で作ったものは、jQueryよりも質が悪いから、
jQueryを使った方がよい、という結論になるw
0147Name_Not_Found
垢版 |
2017/03/05(日) 12:57:28.78ID:???
わかっててあえてやる車輪の再開発は楽しいし勉強になるけどな
仕事ではぐっとこらえないとあかん
0148Name_Not_Found
垢版 |
2017/03/05(日) 13:10:29.28ID:???
jQueryのように「セレクタで取ってきたリストに一括して処理する」という
関数型チックな設計で再開発するとjQueryがよくできてるのがわかるよね。
0149Name_Not_Found
垢版 |
2017/03/07(火) 17:48:45.78ID:DCUhneG3
>>143>>144
返信遅れてすみません
やってみたらできました!
親要素ってなんでもいいんですね、勘違いしてました…
本当にありがとうございました!
0153Name_Not_Found
垢版 |
2017/03/15(水) 22:55:48.78ID:xRfs2epb
JavaScriptを学び始めて1週間程度の初心者です。<br>
この春、集中的に学ぼうと思うのですが、何を中間目標にすべきなのでしょうか?<br>
HTMLとCSSはそれなりに使えます。
0154Name_Not_Found
垢版 |
2017/03/15(水) 23:18:00.98ID:???
ReactとAngular2をマスターする
0155Name_Not_Found
垢版 |
2017/03/15(水) 23:23:11.61ID:???
ありがちだけどシンプルな電卓とかで良いんじゃね
0156Name_Not_Found
垢版 |
2017/03/16(木) 01:06:24.82ID:???
jQuery, jQuery UI, jQuery Mobile
0157Name_Not_Found
垢版 |
2017/03/17(金) 03:56:08.44ID:???
http://itpro.nikkeibp.co.jp/atcl/idg/14/481709/030700305/?ST=cio-appli&;P=2

>  また、ECMAScript 2015仕様のJavaScriptには「let」ステートメントと「var」
> ステートメントの両方があるが、両方は必要ないとCrockford氏は述べた。
> varは関数レベルで変数を宣言し、letはブロックレベルで宣言する。
> Crockford氏は、varはJavaプログラマーを困惑させるとの理由から、letの方を好む。
> また、constステートメントを好む。constは、letと同様にブロックレベルだが、代入ができない。

babel使ったらすぐにconst使えるで
0158Name_Not_Found
垢版 |
2017/03/20(月) 10:12:21.12ID:p2lXRQXD
var str = '"ttp://〜"';

テスト用文字列の中に、大量の「ttp://〜」がある時、
// がコメントに解釈されて困っています。
たぶん、/* があっても困るでしょう

JSには、ヒアドキュメントも無いので、どうすれば?
別の文字に置換すると、テストにはならないし

ファイルから読み込ませれば、良いのかな?
でも、Edgeで出来ますか?
0159Name_Not_Found
垢版 |
2017/03/20(月) 10:36:29.22ID:???
同じディレクトリに入れとけば動くと思うけど
0160158
垢版 |
2017/03/20(月) 11:22:26.36ID:???
>>158
自己レス。漏れの勘違いでした

var str = '"ttp://〜"';

こう書いても、// はコメント扱いにはならなかった。
ちゃんと、変数に読み込めた
0161Name_Not_Found
垢版 |
2017/03/20(月) 21:47:19.88ID:1fvkIxZm
全くの初心者ですみません
javascriptを始めたいのですが開発環境など調べてもわからないことが多く、
おすすめの開発環境を教えていただきたいのですが
0162Name_Not_Found
垢版 |
2017/03/20(月) 22:06:48.99ID:???
個人的なおすすめはVSCodeだけど
まずはメモ帳とブラウザで遊んで見ることから始めてみると良い

ブラウザの開発者ツールを開きながら弄ってみて
https://jsfiddle.net/9qLv6j66/
0164Name_Not_Found
垢版 |
2017/03/21(火) 04:36:56.14ID:???
jsで巨大なデータを読み込むと停止したような状態になるけど、ブラウザによって変化するものなの?
0165Name_Not_Found
垢版 |
2017/03/21(火) 12:27:31.53ID:???
>>164
ブラウザによって変化するものではない
あまりに巨大ならフレームこさえてその中で読むといい
0167Name_Not_Found
垢版 |
2017/03/21(火) 14:33:13.20ID:???
このスレは重複スレで本スレは「プログラム板」に移行したから人がいないよ
>>164はscript要素でhoge.jsを読み込んでいるのか、jsコード内でXHRやfetchを使ってデータを読み込んでいるのか(コードを書く)を書いて移行先で質問すると良いかと

JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
0168Name_Not_Found
垢版 |
2017/03/21(火) 14:46:19.76ID:???
ありがとうございます。
jsでAjax型、PHP経由4096BITSの暗号化データを読み込んだあとに複合化を行いjson形式にもどしたいのだけれども。
暗号化データが96〜512ギガとあまりにも巨大で半分諦めています。
何か良い方法があれば良いのですが・・
0169Name_Not_Found
垢版 |
2017/03/21(火) 17:45:44.08ID:???
だから、このスレには人がいないと言ってるんだけどね
0171Name_Not_Found
垢版 |
2017/03/21(火) 21:41:34.30ID:???
>96〜512ギガ

こんな大きなデータは、無理だろ。
そもそも、メモリが4GBぐらいしかないから、スワップしてHDDに読み込むのか?
0172Name_Not_Found
垢版 |
2017/03/21(火) 23:17:36.04ID:???
>>168
4096Bitずつ読み出しながら変換かければ。
変換した後に何をするかよって対応が異なる。
特定のデータを探したいならデータを捨てればいいけど
0173Name_Not_Found
垢版 |
2017/03/22(水) 06:16:41.46ID:???
>>172
スライスで読み込むと途中で止まります。
読み込み、復号化、保存、をこまめにやろうが、処理後のデータを捨てようが開放しようがダメでした。
完全に詰んだ状態です。
0174Name_Not_Found
垢版 |
2017/03/22(水) 10:18:13.73ID:???
さすがにjsじゃ無理だろ
メモリ管理をほぼ自力で制御できる言語じゃないと無理っぽいが
0175Name_Not_Found
垢版 |
2017/03/22(水) 11:19:14.45ID:???
>>173
止まったところからやり直せばいいじゃん
range指定して読み込め
0176Name_Not_Found
垢版 |
2017/03/24(金) 05:51:51.42ID:???
WEB+DB vol.97 の特集が、React

WEB+DB vol.94 の特集が、Kotlin, Electron
0177Name_Not_Found
垢版 |
2017/03/24(金) 19:05:29.17ID:???
サイト内でCTRL+Cやメニュー等からコピーを選択したときに、それを常時監視して何をコピーしたのか把握をしたいと考えています。

コピーキーの発火タイミングやコントロール及びコピーされたものをAES等で暗号化してからAjaxでサーバーに吐き出す処理を行うことはjsだけで可能でしょうか?
0180Name_Not_Found
垢版 |
2017/03/28(火) 19:28:16.63ID:O+OCngTC
クリップボードの中身を見るAPI
0181Name_Not_Found
垢版 |
2017/03/29(水) 01:21:44.66ID:???
ウィンドウフックでイベント横取り
0182Name_Not_Found
垢版 |
2017/03/29(水) 04:32:32.20ID:???
ある方法でjsだけで保存場所の相対値もとれますよ
0183Name_Not_Found
垢版 |
2017/03/29(水) 13:05:05.27ID:???
把握したいだけなら選択状態に関するイベを監視してればよくね?
0184Name_Not_Found
垢版 |
2017/03/29(水) 19:24:35.45ID:???
>>175
>>172
ファイルはバイナリスライスで均等にチョン切ってから読み出し、ブロブやb64にしてゴニョゴニョすしてクリアできました。
あとは暗号化でBITSの高いものはjsだと負荷かかりすぎて現実的に難しいみたいです。
何か方法がないものか。
0185Name_Not_Found
垢版 |
2017/03/30(木) 06:29:25.43ID:???
分割処理でローカルストレージみたいに一時的に保存するなら処理できるはず
ただしjsで巨大なファイルを分割できても結合は不向きな
PHPに渡してやるのが手っ取り早い
0186Name_Not_Found
垢版 |
2017/03/31(金) 13:30:46.23ID:???
importとかincludeみたいなのをかっこよく書きたい
jqueryとか使えばかっこよく書ける?
0188Name_Not_Found
垢版 |
2017/03/31(金) 21:13:19.60ID:???
importとかincludeって、DOMと関係ないじゃないw
0189Name_Not_Found
垢版 |
2017/04/01(土) 05:33:44.53ID:???
かっこ良く書くのは良いけど、数行の記述でもJQ読み込ませるゆとりみたいにはなるなよ。
0190Name_Not_Found
垢版 |
2017/04/06(木) 15:06:23.06ID:4R79jbZD
javascriptってオブジェクトを破棄(DELETE)する命令って無いよね?
そのオブジェクトに関する参照を全て切っていくしか破棄の手段は無いって認識であってる?
0191Name_Not_Found
垢版 |
2017/04/06(木) 18:08:20.97ID:???
>>190
結局、変数の寿命をなるだけ短くしていくのが一番良いよね
0192Name_Not_Found
垢版 |
2017/04/06(木) 20:04:43.81ID:???
あれ、なかったっけ?
実際に破棄しているかどうかはともかく、明示的にプロパティを削除するメソッドがなかった?
0193Name_Not_Found
垢版 |
2017/04/06(木) 20:14:38.57ID:???
>>190
> そのオブジェクトに関する参照を全て切っていくしか破棄の手段は無いって認識であってる?

つまり、そのオブジェクトを参照している人がいるのに、そのオブジェクトを削除したいってこと?
0194Name_Not_Found
垢版 |
2017/04/07(金) 01:03:06.06ID:qAWKLpPb
>>192
プロパティを削除する命令はあるけど、KEYを削除するだけでVALUEの実態が削除されるわけじゃないね

>>193
オブジェクトを明示的に削除することによって、それらを(別の箇所から)参照してたものにNullが入るような動作は無理なのかなと思って
0195Name_Not_Found
垢版 |
2017/04/07(金) 01:55:24.34ID:???
仕方ないな。ヒントをやろう
we
0196Name_Not_Found
垢版 |
2017/04/07(金) 03:18:28.71ID:???
var a = 配列
ここで、a を使って処理する
a = null;

こういうように、null を代入しているような、ソースコードを見た事がない。
こう書いても書かなくても、たぶん、同じように処理されるのだろう

つまり、書いた次の行では、解放されない。
関数(スコープ)を出た所以降で、解放されるのかも?

まあ、そもそも実装の話だし、ソースコード・言語で、どうこう出来ない
0197Name_Not_Found
垢版 |
2017/04/07(金) 16:24:42.71ID:???
>>196
>null を代入しているような、ソースコードを見た事がない。
javaだと割としょっちゅう見たよねこれ懐かしい
0198Name_Not_Found
垢版 |
2017/04/07(金) 18:16:08.66ID:???
WeakReferenceがほしいって話か?
0199Name_Not_Found
垢版 |
2017/04/07(金) 20:06:37.05ID:qAWKLpPb
>>196
nullなりなんなりで参照を解かないとオブジェクトが削除されないじゃん
関数内での一次的なものでスコープ外れて自動的に参照もとろも無くなるケースばかりじゃないでしょ
0200Name_Not_Found
垢版 |
2017/04/07(金) 21:50:07.34ID:???
いや、そんなケースばかりだよ
例えば死なないクロージャがどんどんできていく状況なら
変数より先にそのクロージャをどうにかしないといけない
グローバル変数に溜まっていくことも稀
大きなblobはnullを入れても明示的/暗黙的にblobURL化されていたりして
リークして困ることが実際は多い
0201Name_Not_Found
垢版 |
2017/04/07(金) 23:02:59.19ID:???
>>194
オブジェクトを明示的に削除して参照が勝手にnullになるような言語ってどんなの?
0202Name_Not_Found
垢版 |
2017/04/07(金) 23:43:14.98ID:???
>>200
一言で言えばバグだよね?
バグなら、バグの大本を修正すれば良いのでは?

バグが有るんだからnullにした所で
メモリリークを防げるだけで、
nullにアクセスした時点で落ちるでしょ
0203Name_Not_Found
垢版 |
2017/04/08(土) 04:28:55.32ID:L7E4oXYO
fetchで取得したhtmlをxpathでいじりたくてDOMParserに渡したのですが
どうも<img src=画像>とかを読み込んでみたいなんですけどこれを止める方法ってありますか?
0204203
垢版 |
2017/04/08(土) 04:30:24.67ID:???
httpリクエストが発生してるという意味です
0205Name_Not_Found
垢版 |
2017/04/08(土) 04:56:51.43ID:???
>>202
殆どの場合はメソッドを呼ぶ行為でリークするからnullにするとか関係ない
それに別に仕様で決まっているわけでもないからバグとも言い切れない
改善に改善を重ねたDOMでは極一部の極端なケースで、
逆に参照が残ってるのに削除されるようなアルゴリズムが採用されてるしな
幾つもの言語や階層をまたがって、パフォーマンスも維持するためには完璧は不可能なんだよ
0206Name_Not_Found
垢版 |
2017/04/08(土) 10:03:18.97ID:???
>>205
意味がわからん。

参照が残ってるってことは
メソッド呼び出しする可能性があるということだぞ

お前のバグで、メソッド呼び出すことがないのだろうが、
お前のバグのことなんか言語は知らんってw
0207Name_Not_Found
垢版 |
2017/04/08(土) 11:52:20.13ID:???
幾つかのブラウザでBlobを扱うAPIのメソッドはメモリリークを起こすが、
その実装はバクと言い切れず仕方ない面もあるという話をしてるんだけど、
まだわからないか?
0208Name_Not_Found
垢版 |
2017/04/08(土) 12:00:51.08ID:???
>>207
そのバグをJavaScriptのコードで修正できるわけがないじゃん。
JavaScriptのコードで修正しようと思っても出来ないからこそ
バグなんだから。
0209Name_Not_Found
垢版 |
2017/04/08(土) 14:21:17.88ID:???
>>208
そうだね。
で、何が言いたいかって言うと、メモリリークで実際頭悩ませるのは
こういうバグチックなことのほうが多いってこと。
例えどんなコードでも不要になったらnullを代入を徹底するようにしても、
その労力に見合う程の効果があるか疑問ってこと。

経験上、こういう細かな1行で解決できることは少ない。
バグにしろ、アルゴリズムの不備にしろ、小さくはあるけど、
ヘルパー関数レベルで別手段に書き換えて対処する事が最も多い。
0210Name_Not_Found
垢版 |
2017/04/08(土) 17:11:26.92ID:5JuwuUj/
>>206
参照先でそれがnullかオブジェクトかを判断してメソッド呼べばいいじゃん
有れば使う、無ければ使わないって実装だってあるでしょ
0211Name_Not_Found
垢版 |
2017/04/08(土) 17:16:42.08ID:???
>>210
メソッドを呼んでなにかの処理をしたい場面で、
そのメソッドを呼ばなくて、正しく動くわけがないだろ
アホなのかな?
0212Name_Not_Found
垢版 |
2017/04/08(土) 18:40:49.80ID:5JuwuUj/
>>211
「何かの処理をしたい場面で」したい場面ってなに?プログラムに意思なんてないでしょう
プログラムにしたがって処理をして、処理対象が無ければ処理をしないなんてごく普通のことだとおもうけど
絶対にそれがあるという前提でプログラムしているなら無ければ困るケースが起こるだろうけどね
君は想像力ゼロなのかい?
0213Name_Not_Found
垢版 |
2017/04/08(土) 18:50:55.72ID:???
>>212
> 処理対象が無ければ処理をしないなんてごく普通のことだとおもうけど

場合によるだろ

想定外の事態なのだから通常はエラーにするほうが正しい。

なんでそんなこともわからんのだ?
0214Name_Not_Found
垢版 |
2017/04/08(土) 21:04:19.15ID:5JuwuUj/
>想定外の事態なのだから通常はエラーにするほうが正しい。

なぜ想定外の事態だと決め付けるのかな?
そして「処理をしない」=何もしないとなぜ脳内で決め付けるのかな?
処理対象がない->処理をしない(出来ない)->エラー処理or別の処理
ケースは色々あるでしょうに

きみまともなプログラムした事ない人でしょ?
0215Name_Not_Found
垢版 |
2017/04/08(土) 21:21:25.96ID:???
ないかもしれない場面で、ない事を確認して処理を変えるのは正しい
正しく動いていればないことはありえない場面で、ない事を確認して処理を変えるのは間違いで、例外を投げるのが正しい
今は後者の話をしているので、例外を投げる以外の選択肢はない、と言いたいのでは?
0217Name_Not_Found
垢版 |
2017/04/08(土) 22:31:55.51ID:5JuwuUj/
>「正しく動いていればないことはありえない場面で、ない事を確認して処理を変えるのは間違いで」

まだ決め付けてるの?だれも最初からそんな事言ってないんだけどね
君が勝手に「自分の想定」を加えてわけのわからない断定をしてるだけでしょう
0218Name_Not_Found
垢版 |
2017/04/08(土) 22:42:58.80ID:5JuwuUj/
>「今は後者の話をしているので、例外を投げる以外の選択肢はない、と言いたいのでは?」
勝手に後者の前提で話を始めたのは誰かな?
そしてさ、君プログラムわかってる?
例外、例外というが、その例外はどうするの?まさか投げっぱなしでプログラムをとめるの?
開発中ならともかく普通はその例外をキャッチして相応の処理なり表示なりするでしょう?
状況によってはロールバック的な処理は当然必要だよね
わかるかい?要するにこれって状況に応じて別の処理をしてるんだよ
例外はその検出手段にすぎない
君、大きな勘違いしているようだけどIF文で戻りをチェックすることと例外を出す事は本質的には変わらないんだよ
それをどのレイやでキャッチするか、その手法の違いなんだよ
0219Name_Not_Found
垢版 |
2017/04/08(土) 23:13:36.23ID:???
あ、さわっちゃいけない子だったか
0220Name_Not_Found
垢版 |
2017/04/09(日) 08:26:43.17ID:???
また自分より下を作ろうと必死なやつわいてるのかよ。
0221Name_Not_Found
垢版 |
2017/04/09(日) 12:00:09.81ID:???
>>218
話がずれてるぞw

バグでメモリが解放されないものを
無理やり解放する方法(そんなものはないけど)を
使って解放した所で、お前のバグは治らないって話だ。
単にお前のバグが見つけづらくなるだけの話
例外で何もしなければ、例外は起きてないと主張しているのと一緒
0222Name_Not_Found
垢版 |
2017/04/09(日) 15:18:59.43ID:???
バグでメモリが開放されないのは良くあるし、
無理やり開放する方法は稀だが、ちょっと手間をかけて回避する方法ならあることも多いよ。
0223Name_Not_Found
垢版 |
2017/04/09(日) 16:28:03.70ID:???
>>222
バグはイレギュラーな存在なので、
そのイレギュラーなものに汎用的に対応できる方法などない

回避策はバグ次第なのだから、通常のメモリ解放処理でメモリリークするものが
強制的に解放する方法(そんなものないが)で動くとも思えない
そんなものを用意したら新たなバグを増やすだけ
0224Name_Not_Found
垢版 |
2017/04/09(日) 17:51:40.18ID:laRj46NX
>>221
あれ?草まで生やして必死に話を逸らして何がしたいんだい?
「例外=別の処理をしない」って件を早く釈明しなよ
だいじょうぶ?
0225Name_Not_Found
垢版 |
2017/04/09(日) 17:53:33.59ID:laRj46NX
>「例外で何もしなければ、例外は起きてないと主張しているのと一緒 」
例外で何もしないっていう主張をしてるのは君でしょう?
例外をハンドリングして通常とは別の処理をするという考えすら頭になかったレスしかしてないじゃん
で?
「例外=別の処理をしない」って件を早く釈明しなよ
まだかな?
0226Name_Not_Found
垢版 |
2017/04/09(日) 18:00:32.80ID:laRj46NX
しかし、このバグバグと連呼してるアレな人は本当にプログラムの基本すらわかってない様子だね
彼いわく、
「参照がある=処理できるべき!」
「参照先の確認をして別の処理をするのは不要!」
「例外だせばいい!」
だもんなぁ
そもそもプログラムなんて全が自分のプログラムの範囲で値が確証されているものだけじゃないのにね
ファイルや通信、その他もろもろ不確定要素なんてあるのが当たり前なのに
実行前に確認or例外をキャッチして別処理なんてごく普通のことじゃん

だいたい、参照がある=処理できて当たり前って考えがそもそもおかしい
参照だけ残ってても中身が変化してれば意味無いのにね
ライブラリ開発とかしたことないんだろうな
0227Name_Not_Found
垢版 |
2017/04/09(日) 18:08:47.72ID:???
池沼は隔離スレのわっちよいでやれよ。
0228Name_Not_Found
垢版 |
2017/04/11(火) 10:36:23.34ID:c8XkHFfV
Tue Apr 11 01:05:14 +0000 2017
すいませんこの文字列を日本時間に直したいのですがどうすればいいでしょうか
0229Name_Not_Found
垢版 |
2017/04/11(火) 19:43:30.99ID:???
new Date();

をググれ超絶初心者よ
0230Name_Not_Found
垢版 |
2017/04/12(水) 08:26:40.69ID:???
Tue Apr 11 01:05:14 +0000 2017

こういうフォーマットから、日時オブジェクトを作成するのは、ブラウザ依存じゃないの?
たぶん、全社共通のフォーマットというのは無い
0232Name_Not_Found
垢版 |
2017/04/12(水) 09:19:01.13ID:???
>>231
ISOいくつなん?
RFC822っぽいけど惜しいね
0233Name_Not_Found
垢版 |
2017/04/12(水) 12:35:25.83ID:???
>>232
ISO8601。あ、俺が言ってるのは、全社共通フォーマットはあるよ、って話。
0234Name_Not_Found
垢版 |
2017/04/12(水) 14:22:44.26ID:???
>>233
そういう意味か

Tでつなげるの大嫌いなんだけど、あれ策定したやつ誰なん?
ちょっとみんなの前でドゲザさせたいわ
0235Name_Not_Found
垢版 |
2017/04/12(水) 18:19:29.92ID:???
土下座するのはお前
たくさん種類がある空白を使わなくていいように
あえてそうしてることくらい分かるだろ
0236Name_Not_Found
垢版 |
2017/04/12(水) 21:51:06.99ID:???
俺ならこうするかな?

2017-04-01@12:00:00$
2017-04-01@12:00:00+09:00$

もしくはこういう形なら統一感あっていいかも

D2017-04-01T12:00:00Z
D2017-04-01T12:00:00+09:00Z


>>235
おまえはばかだなぁ
0237Name_Not_Found
垢版 |
2017/04/12(水) 22:46:39.01ID:???
またやってるのかよ。
質問者に正解の答えもしくは誘導できたらそれで終了のスレで自分より無能な下を作ろうと必死なやつはワッチョイ隔離スレでやってくれ。
0238Name_Not_Found
垢版 |
2017/04/12(水) 22:57:22.13ID:???
・質問への「答え」だけでなく「意見」を出しても良い。
0239Name_Not_Found
垢版 |
2017/04/12(水) 23:33:53.40ID:???
漏れは、2chの日時表示から、正規表現で、Date型へ変換した
var str = "2016/09/09(土) 09:00:08.09 ";

var re = /(\d+)\/(\d+)\/(\d+)/; // 日付
var ary = str.match(re);

var re2 = /(\d+):(\d+):(\d+)\.(\d+)/; // 時刻
var ary2 = str.match(re2);

// Date 型へ変換する。
// ary[2]は、-1。ary2[4]は、10倍
var dt = new Date(ary[1], parseInt(ary[2]) - 1, ary[3],
ary2[1], ary2[2], ary2[3], parseInt(ary2[4]) * 10);

console.log(ary, '\n', ary2, '\n', dt, '\n',
dt.getMilliseconds() + "ミリ秒");

出力
Fri Sep 09 2016 09:00:08 GMT+0900 (東京 (標準時))

何かのライブラリに、変換できる関数があるかも?
無ければ自分で作る。
jQuery UI にも、DatePicker というのがある
0240Name_Not_Found
垢版 |
2017/04/12(水) 23:48:46.62ID:???
JavaScriptで日付用ライブラリとして有名なのはmoment
0241Name_Not_Found
垢版 |
2017/04/13(木) 02:44:15.09ID:???
>>237
何度も書いてるが意味わからんよそれ
誰かの発言で上下が変わったり無能になったりする訳でもないし
本当に無能だと思えば取り合わないだけでしょう
0242Name_Not_Found
垢版 |
2017/04/13(木) 07:48:47.09ID:???
@と$は本質的に全く変わってないじゃん。
頭にDは無駄。
Tは、Tまで読み飛ばすシーンがあるから必要なのであって、先頭文字は必要ない。
時刻Zは時刻+00:00の糖衣構文だから、09:00Zはありえない。
なんでこうなったかを考えない奴居るんだな
0243Name_Not_Found
垢版 |
2017/04/13(木) 08:58:09.52ID:Hqk5sika
>>242
なんでTにしたん
もっと違う記号あったやろ
アンダーラインとかでもええのに
なんでTにしたん
0245Name_Not_Found
垢版 |
2017/04/13(木) 13:11:41.94ID:???
>>243
SQLでいちいちワイルドカードになったら嫌じゃない?
標準式の方(‐:なし)で時刻だけもらった時に、20時17分で有ることを担保するために、時刻だけには印ついててほしいもわかるし。
日付表記みたいにWとか新しい形が出てこないと限らないから、有意な文字を当てるのは変じゃないと思う
0248Name_Not_Found
垢版 |
2017/04/14(金) 06:35:41.15ID:???
>>242
TimeだからTなんじゃない?
逆にTではまずい理由も特にない
「分かりにくい」って単に慣れの問題だし、Zも終端子としては分かりやすい
英語圏にとってはアルファベットが親しみやすいんだろうよ
慣れろ
0251Name_Not_Found
垢版 |
2017/04/14(金) 16:12:01.12ID:???
教則本を取り組みながら勉強中の超初心者なんですが、
update(メソッド?)というのが何の説明もなく唐突に出てきて、
検索しても出てこないので意味が分かりません。
どういう意味ですか?
0252251
垢版 |
2017/04/14(金) 16:43:19.17ID:???
function push() {
var v = Math.floor(Math.random() * 10);
var r = data.push(v);
update(r);
}

という感じです
0253251
垢版 |
2017/04/14(金) 16:48:08.77ID:???
すみません、解決しました
普通に読み進めていったらupdate関数が定義されていました;
0254Name_Not_Found
垢版 |
2017/04/14(金) 19:09:24.52ID:???
>>253
細かい説明は後からどんどん付け足していくのが英語文化、というのを覚えておくといいかもな
0255Name_Not_Found
垢版 |
2017/04/15(土) 01:26:24.49ID:???
随分と優しい説明だな。
ここは特殊な2ちゃんスレなのだから、もっと屑扱いしてやらんと育たんぞ。
0256Name_Not_Found
垢版 |
2017/04/15(土) 22:13:21.07ID:???
そりゃマサカリもただじゃないからな
投げてやる相手くらいは選ぶさ
0258Name_Not_Found
垢版 |
2017/04/22(土) 03:58:49.81ID:???
学生のとき作った認証関連の某自作ライブラリが10万DLこえたのに驚愕
まあ海外からの評価が異様に高いのが人気に繋がったのか・・
まだ一度も突破テスト等で破られてないみたいのが奇跡
0259Name_Not_Found
垢版 |
2017/04/22(土) 05:10:16.19ID:???
残酷だけどそれは見向きもされてないだけだよ。
0260Name_Not_Found
垢版 |
2017/04/22(土) 09:51:10.62ID:???
自信があるならグーグルやマイクロソフトに売り込んでみよう
結果はここで報告してくれよな
0261Name_Not_Found
垢版 |
2017/04/22(土) 11:24:10.70ID:???
>>258
すげーじゃないか。ここで晒してみてよ。
0262Name_Not_Found
垢版 |
2017/04/22(土) 16:00:03.39ID:EEI8tMJL
minifyとかコンパイルとか一般的になって来てるなら、
もうバイナリにコンパイルしちゃえば?
という気もするのですが、世界がそうならないのは何故ですか?
0263Name_Not_Found
垢版 |
2017/04/22(土) 16:26:04.82ID:???
>>262
重要なのは互換性。
今までのものが今まで通り動くことだから。

バイナリにコンパイルして動かなくなったら
意味はない
0264Name_Not_Found
垢版 |
2017/04/22(土) 17:23:01.66ID:???
それがWebAssemblyじゃないの。
でもあれって直接DOM操作はできないんだっけ
0265Name_Not_Found
垢版 |
2017/04/22(土) 17:30:55.90ID:EEI8tMJL
ま、まあ、コンパイル済のJavaアプレットは残念な出来栄えだったしなあ…
0267Name_Not_Found
垢版 |
2017/04/22(土) 17:56:45.26ID:???
wasmはGCとDOMが実装されてからが本番だな
0268Name_Not_Found
垢版 |
2017/04/25(火) 14:47:19.95ID:???
オブジェクトのディープコピーを簡単にする方法でおすすめ教えて?
0270Name_Not_Found
垢版 |
2017/04/25(火) 22:23:39.55ID:???
jquery.extend() に、deep を指定する
0271Name_Not_Found
垢版 |
2017/04/26(水) 09:22:10.94ID:???
>>269
それだと変数以外の情報全部失われるでしょ

>>270
それだとjqueryじゃない環境で動かないでしょ
0272Name_Not_Found
垢版 |
2017/04/26(水) 10:42:19.52ID:???
もう今更話すことでもないでしょ。この部分は昔から進歩がないんだから。
長年ESコミュニティで提案されているStructure Cloneが実るまではね。

ただこれに近い非同期版がDOM仕様にあるので、非同期で良い場合はMessageChannelを使う
同期が良ければぶっちゃけワンライナーで簡単なのはJSON、
ちょっと手を加えてObject.assignを使えば簡潔な関数を作ることも可能

どれも一長一短があるので好きにしたら良い
0273Name_Not_Found
垢版 |
2017/04/26(水) 15:43:18.54ID:???
DOMからエスケープ前の文字列を取得したいんですが
具体的には&copy;のような文字列です。その場合ってどうすればいいんでしょう
Node.nodeValueだとエスケープ後の文字列になっちゃいます
0276Name_Not_Found
垢版 |
2017/04/26(水) 21:00:49.11ID:???
>>268
> オブジェクトのディープコピーを簡単にする方法でおすすめ教えて?

JavaScript標準でやれないことをやりたくなった時が
ライブラリを導入するべき時だよ

例えばlodashを使う
https://lodash.com/docs/4.17.4#cloneDeep
0277Name_Not_Found
垢版 |
2017/04/26(水) 21:47:59.61ID:???
ライブラリ導入したくないなら必要な部分だけパクってこい
0279Name_Not_Found
垢版 |
2017/04/26(水) 22:04:35.59ID:???
JavaScriptとcssって再利用しにくいよね
ライブラリAがjQuery1.xに依存
ライブラリBがjQuery3.xに依存
でもAB同時に使いたい
とか
名前空間サポート無いせいでjs classやcss classが被ったり
0280Name_Not_Found
垢版 |
2017/04/26(水) 22:10:58.04ID:???
> ライブラリAがjQuery1.xに依存
> ライブラリBがjQuery3.xに依存
> でもAB同時に使いたい

いや、JavaScriptにかぎらず、
それができる言語を知りたいぐらいなんだが?
0281Name_Not_Found
垢版 |
2017/04/26(水) 22:11:56.79ID:???
> 名前空間サポート無いせいでjs classやcss classが被ったり
AngularやReactなんかではscoped cssが使えるから
かぶることもない
0284Name_Not_Found
垢版 |
2017/04/26(水) 23:31:21.17ID:???
>>282
他の言語知らないやつ多すぎだよな。まあ許してやれ。
0285Name_Not_Found
垢版 |
2017/04/27(木) 00:32:11.36ID:???
他の言語知っているのなら、他の言語の例を言うようにw
0286Name_Not_Found
垢版 |
2017/04/27(木) 00:38:51.53ID:???
jsのスレだから勘弁してやれよ
0287Name_Not_Found
垢版 |
2017/04/27(木) 01:19:20.82ID:???
1画面内でバージョンの異なるjQueryを共存させるには
http://rei19.hatenablog.com/entry/2013/03/25/000818

$が、1.9.0 で、$132が、1.3.2

var $132 = $.noConflict(true);

(function($){
// ライブラリ本体のjavascript・・・
})($132)

Underscore.js でも、_ を別名にできる
0288Name_Not_Found
垢版 |
2017/04/27(木) 12:40:23.10ID:Ux3zt1Il
初心者です。テーブルでA1はHTML内で5に指定、A2に<input type ="number" value ="1">があって、A1セルとA2セルを足したい場合
rowsとcellsで指定するとA2がNaNになり結果が5NaNになるんですがどうしたらいいですか?
この場合inputの初期値0は効かないのでしょうか?A2をparseIntで囲ってもだめでした
0289Name_Not_Found
垢版 |
2017/04/27(木) 21:21:10.39ID:???
NAN は、数字ではないって事

ソースコードを書いてから、質問してくれ。
ソースコードが長い場合は、JSFiddle などに貼ってくれ
0290288
垢版 |
2017/04/28(金) 00:00:55.18ID:f58rjsoJ
わかりにくくてすみません。レスありがとうございます
ツールの使い方がわからず、ボタンを押しても反応がないですが、、
個々のファイルにしてブラウザで確認するとgoukei=6になります
最終的にjqueryのblurとかでinputの値が変更されたら該当列全ての値を足して一番下に表示させるのが目標です
https://jsfiddle.net/itioku/Ldvn08jL/
0291Name_Not_Found
垢版 |
2017/04/28(金) 12:19:06.73ID:???
>>280
つーかnpm使ってれば自然にそうなるでしょ?
npmで外部パッケージ化すればいい。
外に公開しなくてもnpm linkすればいい
0292Name_Not_Found
垢版 |
2017/04/28(金) 14:16:55.58ID:???
>>288-290
F12開発者ツールを起動して、1行ずつデバッグするとか、変数をwatchすれば?

それか、あちこちに、console.log() を書いて、どこでおかしくなるのか、変数を見る
0293Name_Not_Found
垢版 |
2017/04/28(金) 20:58:39.94ID:???
>>290
そりゃセルの中に要素作ってるんだから考えてやらないと
値とるだけなら

table.rows[4].cells[4].innerText

table.rows[4].cells[4].firstChild.firstChild.value
でとりあえず取れるけど
0295Name_Not_Found
垢版 |
2017/04/29(土) 02:27:35.54ID:???
出力が全部stringだとわかっている時
改行有りのテキストの出力時に""がつくと微妙に先頭がずれます
"を無くして表示したいのですが可能でしょうか
0296Name_Not_Found
垢版 |
2017/04/29(土) 02:28:15.15ID:???
>>295 訂正
console.logでconsole画面に
を忘れていました
0297295
垢版 |
2017/04/29(土) 02:46:11.41ID:???
よくよく調べたらchromeだと"は付きませんでした
firefoxだと例えば
console.log("あ\nい\nう\nえ\nお");
とすると
"あ



お"
と出力されます
もう諦めてchrome使うことにしますお騒がせしました
0298288
垢版 |
2017/04/29(土) 11:09:15.00ID:/RnRVnWk
>>293
教えていただいた方法で実現できました!ありがとうございました
>そりゃセルの中に要素作ってるんだから考えてやらないと
これからもめっちゃ役に立ちそうです!
0300288
垢版 |
2017/04/29(土) 12:40:57.73ID:/RnRVnWk
>>299
イベントハンドラはHTMLに書いたら動かないって事でしょうか?
今のところはjsfiddleが動かなくて困る事はないですが、心にとめておきます
数値取得方法もそんなやり方もあるのですねありがとうございます!
0301Name_Not_Found
垢版 |
2017/04/30(日) 17:23:39.55ID:???
初心者です
オンクリック属性について教えていただきたいです

//=====================================
var arr =["A","B","C","D","E"];
var element =document.getElementById("testBox");
for(var i=0; i<arr.length; i++)
{
var span =document.createElement("span");
var str = arr[i];
span.onclick= function(){alert(str);};
element.appendChild(span);
span.textContent = arr[i];
}
//=====================================

クリックするとそれぞれの配列の内容が表示されるようにしたいのですが、どれを押しても配列最後の文字列が表示されてしまいます
どこを直したらいいでしょうか
よろしくお願いします
0302Name_Not_Found
垢版 |
2017/04/30(日) 17:28:58.97ID:???
jsでhtmlを生成
オンクリックをforで動的に変更生成させてやってみれ
短く早くかけるぞ
0303301
垢版 |
2017/04/30(日) 17:51:07.41ID:???
>>302
ありがとうございます
軽く検索してみましたが、初心者過ぎて回答の内容が理解できませんでした
せっかくレス下さったのにすみません
回答いただいた内容でもう一回調べてきます
0304301
垢版 |
2017/04/30(日) 18:50:34.20ID:???
>>302
多分教えていただいたこととは違うと思うんですけど、分けたらできました
ありがとうございました
//=====================================
var arr =["A","B","C","D","E"];

var element =document.getElementById("testBox");
for(var i=0; i<arr.length; i++)
{TestFunc(arr[i]);}

function TestFunc(value)
{
var span =document.createElement("span");
span.onclick= function(){alert(value);};
element.appendChild(span);
span.textContent = value;
}
0305Name_Not_Found
垢版 |
2017/04/30(日) 19:07:21.61ID:???
>>304
できたら取りあえずはそれで良しだがその書き方なんとかしろよw

もっと簡潔にすっきり記述できるよう努力しなさい。
0306301
垢版 |
2017/04/30(日) 19:40:26.12ID:???
>>305
はい
もう少しjsの理解が進んだら、記述の簡略化も調べてみます
アドバイスありがとうございました
0307Name_Not_Found
垢版 |
2017/04/30(日) 21:02:59.33ID:???
function onSpanClick(event) {
alert(this.textContent);
}

function createSpan(value) {
var span = document.createElement("span");
span.textContent = value;
span.onclick = onSpanClick;
return span;
}

var a = [...];
var element = document.getElementById("...");
a.map(x => createSpan(x))
.forEach(x => element.appendChild(x));

模範解答な
0308Name_Not_Found
垢版 |
2017/04/30(日) 21:07:21.85ID:???
初心者と言えど、しかしまあ汚い記述だ。
まるで漢字を使わずに平仮名で書いた作文だぞこれ。
jq使いのドダスゲー小僧よりマシだとは思うけど・・・
0309Name_Not_Found
垢版 |
2017/04/30(日) 21:20:35.18ID:???
初心者は、jQuery での書き方を覚えろ
0310Name_Not_Found
垢版 |
2017/04/30(日) 21:21:37.65ID:???
>>308
先生の解答待ってますよ
まあろくなもんが出て来ないだろうけど
0311Name_Not_Found
垢版 |
2017/04/30(日) 21:48:22.00ID:???
無駄に関数作るな。これが本当の模範解答な

function onSpanClick(event) {
 alert(this.textContent);
}

let a = [...];
let element = document.getElementById('...');
for (let x of a) {
 let span = document.createElement('span');
 span.textContent = value;
 span.addEventListener('click', onSpanClick);
 element.appendChild(span);
}
0312Name_Not_Found
垢版 |
2017/04/30(日) 21:55:28.91ID:X37QQNXd
少しミスってたので修正

function onSpanClick(event) {
 alert(this.textContent);
}

let arr =["A","B","C","D","E"];
let element = document.getElementById('testBox');
for (let value of arr) {
 let span = document.createElement('span');
 span.textContent = value;
 span.addEventListener('click', onSpanClick);
 element.appendChild(span);
}

そしてjQuery版
function onSpanClick(event) {
 alert(this.textContent);
}

let arr =["A","B","C","D","E"];
let element = $('#testBox');
for (let value of arr) {
 let span = $('<span>').text(value).click(onSpanClick);
 element.append(span);
}
0313Name_Not_Found
垢版 |
2017/04/30(日) 21:59:19.48ID:X37QQNXd
jQuery版を少し改良

$(document).on('click', '#testBox span', function (event) {
 alert(this.textContent);
});

let arr =["A","B","C","D","E"];
for (let value of arr) {
 $('#testBox').append($('<span>').text(value));
}
0314Name_Not_Found
垢版 |
2017/04/30(日) 22:03:42.63ID:X37QQNXd
更にw

$(document).on('click', '#testBox span', function (event) {
 alert(this.textContent);
});

let arr =["A","B","C","D","E"];
$('#testBox').append(arr.map(v => $('<span>').text(v)));
0315Name_Not_Found
垢版 |
2017/04/30(日) 22:12:39.00ID:???
もちろんこれでも良い

let arr =["A","B","C","D","E"];
$('#testBox').append(arr.map(v => $('<span>').text(v).click(function() {
 alert(this.textContent);
})));
0316301
垢版 |
2017/04/30(日) 22:33:56.90ID:???
>>307 >>311-315
コピペしました
これらを参考に、いずれは簡便な方法での書き換えもやってみたいと思います
自分で調べただけでは目に留まらなかったやり方が知れて嬉しいです
ありがとうございました
しつこくでてきてすみません
お礼言いたかっただけなのでこれで消えます
0317Name_Not_Found
垢版 |
2017/04/30(日) 23:36:35.94ID:???
ここにいる連中は煽りと自分より下を作り出すのには必死なカスばかりだけど根は親切
0318Name_Not_Found
垢版 |
2017/04/30(日) 23:38:05.52ID:???
>>316
jq読ませないと動かないことは知ってるよな?w
0319Name_Not_Found
垢版 |
2017/05/01(月) 00:20:21.56ID:???
まだ自分も模範解答が暗号にしかみえない初心者だけどすごいな!先輩すげーっす
0320Name_Not_Found
垢版 |
2017/05/01(月) 08:30:08.48ID:???
>>314
いかにもweb屋って感じの現代アートだな
保守性を重視するサーバーサイドの人間から見たら吐き気がするよ
jQueryつかって短くなんて正直なところ誰にでもできるんだよでもそれは目指すべきところじゃない
アドバイスするけどまずは処理に名前をつけるという基本から学んでみるといい
SOLIDな美しいプログラムへの最初の一歩だ
0322Name_Not_Found
垢版 |
2017/05/01(月) 09:37:34.63ID:???
>>320
jq使いはコピペPGばかりだしなw
人の書いたPGをいかに早く見つけて書き直すかが仕事のできる指標となる。
0323Name_Not_Found
垢版 |
2017/05/01(月) 09:56:48.75ID:C9srg369
>>320
> アドバイスするけどまずは処理に名前をつけるという基本から学んでみるといい

こうですかな?(ニヤニヤ

function onSpanClick(event) {
 alert(this.textContent);
}

function createSpan(value) {
 return $('<span>').text(v).click(onSpanClick);
}

let arr =["A","B","C","D","E"];
$('#testBox').append(arr.map(v => createSpan(v));

関数に分けるなんて誰にでもできることをやってさーせんw
超かんたんっすねーwww
0324Name_Not_Found
垢版 |
2017/05/01(月) 11:37:56.66ID:???
素晴らしい!
昔はこの手の向上心溢れる香ばしい若者が常にスレにいて
盛り上げてくれてたんだよ!
0325Name_Not_Found
垢版 |
2017/05/01(月) 12:02:26.83ID:???
やっぱりjQuery使うと短く保守しやすくなるね
0326Name_Not_Found
垢版 |
2017/05/01(月) 12:49:50.53ID:???
ちなみに今のトレンドは極力jqueryに頼らないってことですよね。
0327Name_Not_Found
垢版 |
2017/05/01(月) 13:17:54.31ID:???
>>326
それね、jQueryの代わりにAngulerやReactを使おうって話であって
単純にjQueryをやめましょうって話じゃないんだよ

AngulerやReactは導入と学習コストが
数十倍かかるから簡単なアプリには向かない

AngulerやReactを使うとDOM APIがほぼ不要になる。
jQueryでもほぼ不要。だからDOM APIは
どうしても必要って所でだけ使えばいいよ

あとはAngulerやReactを導入するメリットが
コストを上回れば導入すればいいし
そうでなければjQueryがよい
0328Name_Not_Found
垢版 |
2017/05/01(月) 14:59:44.22ID:???
標準のdomが提供するapiで要件を満たせるからいちいちjqueryを導入する必要ないって話
0329Name_Not_Found
垢版 |
2017/05/01(月) 16:38:30.75ID:G6gzfZnp
>>328
各ブラウザのバグ対策やってる?
Andriodとかの。
Angulerでも最終的にはDOM APIが使われているわけで、
要件を満たせるかどうかしか考えないのなら
何もいらないってことになる。

どんなプロジェクトにも隠れた要件として
少ないコストで開発するというのが入っている。
そこまで考えよう。
そうすると大規模以外jQueryが適切と言うことになる
0330Name_Not_Found
垢版 |
2017/05/01(月) 18:12:37.54ID:???
>>323
そうだ
その調子で頑張れ
脱初心者ももうすぐだ
ウェブ屋ってこういう基礎の基礎もまともにできない人ばかりだから(これは本当に酷い状況)
そういう人たちに比べると君は確実に一歩先に進んでるよ
0331Name_Not_Found
垢版 |
2017/05/01(月) 19:04:30.45ID:???
UIは寿命が短いから使い捨てるのが常識だろ
保守性とかどうでもよくて短く速く書ける奴が正義
0332Name_Not_Found
垢版 |
2017/05/01(月) 21:25:28.26ID:???
誰かが書いたコードの関数名をパクってみたけど、
やっぱり>>323は無駄すぎだね

これが関数に分ける場合の最適解かな。

function createSpan(value) {
 return $('<span>').text(v).click(function() {
  alert(value);
 });
}

let arr =["A","B","C","D","E"];
$('#testBox').append(arr.map(v => createSpan(v));

ただcreateSpanという名前は良くない。
中の実装がspanじゃなくなったらどうするの?という話
textBoxという名前に合わせて、こっちも適切な名前にするべきだろう。

またこの実装は、画面に表示されるテキストと実際の値を分けることが
できるというメリットが有る。

あと書いてなかったけど>>314にもメリットはあってイベントハンドラが一つだから
(この程度じゃ大差ないだろうけど)軽いというのと、動的にspanが増えたときでも
新たにイベントハンドラを作成しなくてすむ
0333Name_Not_Found
垢版 |
2017/05/01(月) 21:26:57.58ID:???
>>330
俺jQueryもAngularもlodashもbabelも使えるんで
初心者に見えないのは当然だと思うよw
0334Name_Not_Found
垢版 |
2017/05/01(月) 21:49:54.44ID:???
>>331
> UIは寿命が短いから使い捨てるのが常識だろ

ほんとこれなw
http://anond.hatelabo.jp/20170501085956

> しかし、どれほど技術が移り変われど変わらないものもある。
>
> あなたがクソと罵り選択肢からも除外されたjQueryである。
> 一年後の未来であってもjQueryはそこにあった。もちろんクソと野次られながら。
>
> クソレガシーこと枯れた技術の利点はそこにある。

Backbone.jsは手伝った程度だがあっさり消えてくれた。
Angularは1と2でぜんぜん違うものだった(どっちもやった)
RequreJSはやったがすぐにwebpackに変わった。
そのwebpackも2になってまた少し違うものになった。

gruntはやったがgruntと何かのライブラリをくっつける
gruntプラグインが全然メンテされずで余計な複雑度を入れるだけだった
(すぐにnpm runを使った方法に乗り換えた。世間も俺と同じ流れを辿ってくれた)

そういった中、jQueryは昔からずっと変わらず。シンプルで便利な存在だった。
一部のアプリはjQueryでは荷が重いのはわかるが、大抵のウェブサイトはjQueryで十分だよ。
画面はUIは原則HTMLとCSSで作るものだ。JavaScriptはそれを支える脇役でいい
0335Name_Not_Found
垢版 |
2017/05/01(月) 22:35:23.20ID:???
>>332
実際にはcreateSpanにはその画面によりふさわしい名前がつくだろう
お題が本質的に意味のない練習コードだからそういう名前がついただけ
それとイベントをアドホックな匿名関数で誤魔化すのは良くない
GUIで処理の起点になるイベントが匿名というのは読む人を混乱に陥れる
もしそれが深くネストしたブロックにあるならば最悪だ
0336Name_Not_Found
垢版 |
2017/05/01(月) 22:42:44.49ID:???
>>333
その発言自体が君の初心者臭を生き生きと表現しているね
高級なスポーツ用品を揃えて、調子に乗ってしまうタイプのデブが同僚にいるんだが、なんというかまあ、そんな感じだな
まずは基礎体力を付けたまえ
0337Name_Not_Found
垢版 |
2017/05/01(月) 22:49:48.90ID:???
>>336
ん? なんならC/C++、Ruby、Pythonなんかも使えると言ってもいいけど?
というか言語を使えることは当たり前の話だけど。
俺が得意なのは大規模アプリの設計。
何をもって初心者と思ったのか、俺の発言の一部だけを見て判断しないよにね。
0338Name_Not_Found
垢版 |
2017/05/01(月) 22:50:47.14ID:???
>>335
> それとイベントをアドホックな匿名関数で誤魔化すのは良くない

なぜ? 納得ができる説明があんたにできるのかな?
俺が思うからそうなんだ〜じゃなくてね。
0339Name_Not_Found
垢版 |
2017/05/01(月) 23:25:03.83ID:???
>>338
まずはレスをしっかりと読もう
読解力も立つ初心者には必要な力だよ
0340Name_Not_Found
垢版 |
2017/05/01(月) 23:26:10.39ID:???
>>337
強がらなくていいよ
君の書いたコードスニペットを見ればだいたい察しはつくからね
0341Name_Not_Found
垢版 |
2017/05/02(火) 00:07:26.56ID:???
ほら、答えられなかったw
0342Name_Not_Found
垢版 |
2017/05/02(火) 00:50:02.78ID:???
jqソースの解答は他所でやれよ。
ここはjsのスレでライブラリ、パッケージを読み込まないと使えないjpはすれ違いだぞ
0343Name_Not_Found
垢版 |
2017/05/02(火) 01:41:28.63ID:???
勝手にすれ違いと喚いているだけ
0344Name_Not_Found
垢版 |
2017/05/02(火) 01:51:17.17ID:???
好ましいスレあるんだから向こうでやれば
0345Name_Not_Found
垢版 |
2017/05/02(火) 01:53:33.60ID:???
ここの質問を移動する意味は無いだろ
つーか質問者が感謝してるんだからそれでいいだろ
0346Name_Not_Found
垢版 |
2017/05/02(火) 01:55:22.19ID:???
>>327
>AngulerやReactを使うとDOM APIがほぼ不要になる。

それってHTMLコードもほぼ不要になる?
0347Name_Not_Found
垢版 |
2017/05/02(火) 02:01:58.36ID:???
またスレチわいてるのかよ
0348Name_Not_Found
垢版 |
2017/05/02(火) 02:03:30.71ID:???
>>346
ならんよw

まあ正確に言うと、拡張されたHTMLやHTMLっぽい何かを使うから、
純粋なHTMLではない=HTMLを使っていないと言えなくもないが。

俺はjQueryを使っていても、DOMツリーを組み立てなくても
HTMLからそのままDOMツリーを生成したほうが楽だと思っていて
基本はHTML側に書くのだけれど、汎用のダイアログとかはJavaScriptに
直接HTMLを書いていたね。

それと同じでUIを作るのはHTMLが一番効率がいいよ
そこを変えようとは思わないほうが良い
0349Name_Not_Found
垢版 |
2017/05/02(火) 02:03:54.96ID:???
ここもわっちょいありのプログラムjsスレみたいに変えないとダメかもな
0350Name_Not_Found
垢版 |
2017/05/02(火) 04:01:36.34ID:???
何のためにスレが分けてあるのか理解できない池沼なんだろ
0351Name_Not_Found
垢版 |
2017/05/03(水) 00:23:43.00ID:???
>>346-348
AngularJS は宣言型。
繰り返す要素を、ng-repeat で宣言できる

<要素 ng-repeat="{repeat_expression}">
処理
</要素>

articles はコレクションで、article は展開される各要素。
これで、すべての要素を展開できる

<tr ng-repeat="article in articles">
<td>{{article.author}}</td>
</tr>
0352Name_Not_Found
垢版 |
2017/05/03(水) 00:33:13.30ID:???
というか、そもそもHTMLやCSS自体が宣言型やねんw
0354Name_Not_Found
垢版 |
2017/05/04(木) 12:25:38.58ID:jxtYOpBF
javascriptに関するブラウザの質問なのですが
chromeでjsshellという拡張機能を使いjqueryスクリプトで特定のページの要素とかをhideしています

それで一応hideして消すことはできたのですが
問題はそのページを更新した時に一瞬だけチラッとだけ表示されてそのあとhideされます
たぶんページを読み込んでからそのjqueryのスクリプトを実行していると思うのですが

hideされた後にページを表示するとか
そういうチラって見えなくなる方法ありますか?困ってます教えてください
0355Name_Not_Found
垢版 |
2017/05/04(木) 12:54:26.84ID:???
>>354
結論から言うとStylishを使ったほうが良いだろう。

JavaScriptで一瞬の表示もさせずに特定の要素を消すならば、
HTMLの<head>や<body>等の最初あたりでコードを実行しなければダメだ。
DOMが完成してからであればどうしても一瞬表示されてしまう。

jsshellがDOMが完成する前のタイミングでコードを実行できるかは知らないが、
Greasemonkeyの互換であるTampermonkeyでは対応している。

だがページの最初の方でコードで実行することが出来たとして、
そのコードが実行された後に登場する要素を一瞬の表示もなく消すのは大変だ。

一番ラクな方法はCSSを使う方法だろう。JavaScriptで要素を消すためのCSSを出力する。
だが、そんなことをするぐらいなら、Stylishを使えばいい。
特定のページごとに自分が指定したCSSを適用してくれる。
0356Name_Not_Found
垢版 |
2017/05/04(木) 13:43:29.57ID:jxtYOpBF
>>355
ありがとうございます
Stylishとう言うのを調べてみようかと思います
しかしCSSではループとか配列みたいなことができないと思うのですができるのでしょうか?

やりたいことは

こういう配信履歴から特定ユーザーを表示しないようにするのですが

http://livetube.cc/tag.%E9%9B%91%E8%AB%87


hoge=$("#contentBox > div > div > table > tbody > tr");
hoge.each(function(){
var txt=this.children[4].innerText;
if(txt.match(/非表示したい名前/)){
$(this).hide();
}
});

配信履歴は静的なページなので後から要素が追加されなさそうなのでTampermonkeyを調べてみます
これも候補にあったのですが敷居が高そうなので試してませんでした
0357Name_Not_Found
垢版 |
2017/05/04(木) 13:46:36.72ID:jxtYOpBF
あと前から困ってるのがあるのですが
http://livetube.cc/%E4%B8%80%E9%96%83/FE%E3%80%80%E7%B4%8B%E7%AB%A0%E3%81%AE%E8%AC%8E%E3%80%80%E4%BA%8C%E8%BB%8D%E7%B8%9B%E3%82%8A(2)

こういう配信ページで動的に生産されるコメントとかは
やはりず〜っとループを回して処理するしかないのでしょうか?

CSSも考えていましたがid="ユーザー名"とかなってないのでできそうにもなかったです
0358Name_Not_Found
垢版 |
2017/05/04(木) 14:58:47.22ID:???
>>357
何がしたいのかわからんが、監視はMutationObserverでできる
0359Name_Not_Found
垢版 |
2017/05/04(木) 15:17:00.86ID:jxtYOpBF
>>358
そんなのがあったんですか
javascriptのintervalでずっとループさせてました
それがCPUとか使って重かったので困ってました
MutationObserverって試してみます
ありがとうございました

動的に追加されたコメントが表示されないようにですね
0360Name_Not_Found
垢版 |
2017/05/04(木) 16:06:40.98ID:jxtYOpBF
今、Tampermonkeyで試したのですが
実行のタイミングをdocument-bodyにしたのですが消えませんでした
document-endでは消えます

しかしjsshellと同じくチラッと見えてしまいます

http://livetube.cc/tag.%E9%9B%91%E8%AB%87


hoge=$("#contentBox > div > div > table > tbody > tr");
hoge.each(function(){
var txt=this.children[4].innerText;
if(txt.match(/非表示したい名前/)){
$(this).hide();
}
});
0361Name_Not_Found
垢版 |
2017/05/04(木) 17:17:02.26ID:jxtYOpBF
自己解決しました
tbodyをdisplay:noneにして
さっきのコードの後に$('tbody').fadeIn("slow");とやったら
気にならなくなりました
0362Name_Not_Found
垢版 |
2017/05/04(木) 22:19:28.02ID:???
JavaScript、jqスレでやれ
スレチだぞ
0364Name_Not_Found
垢版 |
2017/05/05(金) 16:28:44.29ID:???
JavaScriptのjquery記述に関する質問は専用スレがあるよ
また変なのわいてるの?
0365Name_Not_Found
垢版 |
2017/05/05(金) 20:38:06.40ID:???
国旗限定のjpg画像を認識するライブラリー作ってるんだけどファイルが巨大になりすぎて行き詰まった。
0367Name_Not_Found
垢版 |
2017/05/05(金) 22:15:01.01ID:???
>>365
今やるなら畳み込みニューラルネット一択だと思うよ
サイズも極めて小さくて済む
0370Name_Not_Found
垢版 |
2017/05/07(日) 01:17:52.83ID:jYv+Vg4N
正規表現リテラルでURLを書く時に / をエスケープせずにする方法ってありませんか?
0371Name_Not_Found
垢版 |
2017/05/07(日) 01:28:57.11ID:???
>>370
おまいの説明だけだとパターンありすぎて回答にこまる
失敗した記述を載せれ
0372Name_Not_Found
垢版 |
2017/05/07(日) 04:16:46.69ID:jYv+Vg4N
/http:\/\/aaaaaaa\.com\/\d\/(\d*)\//
0373Name_Not_Found
垢版 |
2017/05/07(日) 04:18:33.89ID:jYv+Vg4N
送信してしまいました
↑のようなURLから数値を取り出したい時にとても見辛いので / のエスケープだけでも無くならないかなと
0375Name_Not_Found
垢版 |
2017/05/07(日) 09:59:55.95ID:???
>>373
正規表現使うということはエスケープは必須
0376Name_Not_Found
垢版 |
2017/05/07(日) 10:37:13.50ID:jYv+Vg4N
>>374
単純な文字列だと"http://aa\\.com"
rawだと String.raw`http://aa\.com` まで綺麗になるってことですね
ありがとうございましたm(__)m

>>375
/ は正規表現じゃなくて phpだと /http/ を |http| とかに変えられるのでそこまで見辛くはないんです
0377Name_Not_Found
垢版 |
2017/05/07(日) 19:21:20.34ID:???
>>376
phpの話はよそでやれよ。
ここはjsすれだぞ。
0378Name_Not_Found
垢版 |
2017/05/07(日) 19:57:37.37ID:???
じゃあPHPを抜いてやろうw

/ は正規表現じゃなくて /http/ を |http| とかに変えられればそこまで見辛くはないんです
0379Name_Not_Found
垢版 |
2017/05/07(日) 21:08:46.12ID:???
正規表現のことを話してるやつと別なはなしをしてるやつがいてワロタ
0380Name_Not_Found
垢版 |
2017/05/07(日) 21:12:52.37ID:???
JavaScriptには型はないのですか?

C言語の話ではない。


JavaScriptにはC言語みたいな型はないのですか?

これもC言語の話ではない。


JavaScriptにはPHPみたいな正規表現のエスケープ文字を変える方法ないのですか?

むきー!ここはJSのスレだ!PHPの話すんな!←基地外
0383Name_Not_Found
垢版 |
2017/05/08(月) 01:15:45.08ID:???
newRegExp( オレオレ形式の見やすい正規表現){
return new RegExp( オレオレ形式を JS 正規表現に変換した結果 )
}

みたいな関数でも作っとく
0384Name_Not_Found
垢版 |
2017/05/08(月) 09:24:11.05ID:???
/ でくくるから / にエスケープが必要になるんでしょ
/ 以外でくくればいいじゃん
0386Name_Not_Found
垢版 |
2017/05/08(月) 09:26:50.05ID:???
コピペPGには正規表現は酷
プログラムの基礎がないから組み立てるにしろ抜き出すにしろ何しろ時間がかかって触れたくないのよ
0387Name_Not_Found
垢版 |
2017/05/08(月) 13:36:04.78ID:???
ES2015から正規表現クラスも拡張できるようになってて、
シンボルメソッドさえ適切に定義してやれば正規表現を受け付けるメソッドはそれらを受け入れるように改良されてるよ
0388Name_Not_Found
垢版 |
2017/05/08(月) 13:51:23.32ID:???
マッチングでハマるパンピー大杉
0389Name_Not_Found
垢版 |
2017/05/08(月) 20:50:03.30ID:???
どなたかfor文の中で\nを使って改行する方法を教えて頂けませんでしょうか。
0391Name_Not_Found
垢版 |
2017/05/09(火) 04:39:42.65ID:???
var omaiha=10,panpipg="";
for(var ikenuma=0;ikenuma<omaiha;ikenuma++){
panpipg+="¥n"+"改行。「¥」は半角";
}
0392Name_Not_Found
垢版 |
2017/05/12(金) 09:58:37.90ID:kjynAaL5
window.fetchでshift-jisのデータをダウンロードしてresponse.text()で文字列にすると文字化けしてしまうのですがどのようにすれば文字化けしないようにできますか?
0393Name_Not_Found
垢版 |
2017/05/12(金) 10:05:20.65ID:ZhVkIQsF
var server = "vipper.2ch.net"
var board = "news4vip"
var url = `http:/${server}/${board}/subject.txt`

fetch(url).then(response => response.text()).then(text => // textが文字化け)
0394Name_Not_Found
垢版 |
2017/05/12(金) 15:09:02.01ID:???
blobで取ってEncode/DecodeAPI使え
0395Name_Not_Found
垢版 |
2017/05/12(金) 15:35:32.54ID:ZhVkIQsF
>>394
エンコードデコードAPIがぐぐってもどれかわかないです(´;ω;`)
0397Name_Not_Found
垢版 |
2017/05/12(金) 15:52:49.27ID:ZhVkIQsF
えいご(´;;;ω;;;`)
0398Name_Not_Found
垢版 |
2017/05/12(金) 21:34:17.21ID:???
マジレスすると>>396はブラウザがサポートしてないから使えない
0400Name_Not_Found
垢版 |
2017/05/12(金) 22:07:17.32ID:???
またライブラリ導入の話かよ
0401Name_Not_Found
垢版 |
2017/05/13(土) 02:22:40.45ID:???
2chは、文字コードを指定していないから、やっかい。
JSでは、UTF-8 と扱われて文字化けする

結局、jQueryから、YQL (Yahoo! Query Language)のサービスを使って、
2chのHTMLを取得できた。
YQLで、shift-jis からUTF-8へ、文字コードを自動変換しているのかな?

jQuery → YQL → 2ch

VBScriptについて必死に話し合うスレ
http://echo.2ch.net/test/read.cgi/tech/1416826139/924
0402Name_Not_Found
垢版 |
2017/05/13(土) 02:27:21.00ID:???
んなことしなくてもヘッダしていすればいいだけ
0403Name_Not_Found
垢版 |
2017/05/13(土) 03:25:11.29ID:???
>>402
JavaScriptの質問というか、それ以前のhtml設定すらわからんぼんくらに余計なこと教えるなよw
0404Name_Not_Found
垢版 |
2017/05/13(土) 04:56:48.02ID:???
EncodingはHTML5系の中でも古参の部類
これをサポートされてないから〜とか言ってると何にもできない
0405Name_Not_Found
垢版 |
2017/05/13(土) 05:29:17.30ID:???
何言ってんだこいつ?

古いかどうかではなくサポートされているかどうかが重要

「Encodingがサポートされてないから何もできない」には何の根拠もない
事実Encodingがサポートされてなくてもいろんなことができる
0406Name_Not_Found
垢版 |
2017/05/13(土) 06:37:00.26ID:h94IA/x9
>>402
ヘッダーってどこのヘッダーだよ
0407Name_Not_Found
垢版 |
2017/05/13(土) 09:48:42.36ID:???
Encoding サポートされてない?
少なくとも今の FF と Chrome ではサポートされているはずだが

var decoder = new TextDecoder(‘shift_jis’)
0408Name_Not_Found
垢版 |
2017/05/13(土) 10:25:41.09ID:???
はい、サポートされていません。
Safariで動きません。iPhoneで動きません。
これじゃ使えませんね
0409Name_Not_Found
垢版 |
2017/05/13(土) 11:28:02.32ID:???
いくつものブラウザで使えないとダメと言うのは早慶過ぎると思うよ
それに質問者はアレでしょ?
別スレでnode+ブラウザレンダリング部のアプリ環境について質問してた人と同じでしょ
ならそれのレンダリング部がwebkit2ならもうちょっと使えないし、chromiumなら使えるでしょ

一般的にもどうしても必要ならポリフィル噛ませばいいだけでchとfxでサポートされてるんなら十分API自体は使えると思うよ
0410Name_Not_Found
垢版 |
2017/05/13(土) 11:46:32.00ID:zcB/fot9
window.fetchってユーザーエージェント書き換えられないの?
それじゃ2ちゃんのdat取得できないかな...
0413Name_Not_Found
垢版 |
2017/05/14(日) 05:03:56.86ID:???
jQueryでShiftJISエンコードされたCSVを処理する
http://qiita.com/svartalfheim/items/36100328a37c8221d0dd

overrideMimeTypeが実装されているブラウザ(IE10+,Chrome,Firefox)であれば、
以下のようにajax側でmimetypeをオーバーライドすれば対応できます

$.ajax({
beforeSend : function(xhr) {
xhr.overrideMimeType("text/plain; charset=shift_jis");
},
url : 'dummy.csv',
dataType : 'text'
}).done(function(text) {
//処理
});
0414Name_Not_Found
垢版 |
2017/05/14(日) 05:34:58.74ID:???
まあフロント側fetchでやらずにバックグラウンドで相応のAPI使って取得して受け渡すべきだと思うけどな
0415Name_Not_Found
垢版 |
2017/05/14(日) 06:29:40.11ID:???
JQ回答必要な場合は専用すれでやりましょう。
スレのルール守ろうね。
0416Name_Not_Found
垢版 |
2017/05/14(日) 07:26:16.71ID:9mfApSm2
>>415
JQ回答必要かどうかなんてわからんだろw
0417Name_Not_Found
垢版 |
2017/05/14(日) 07:29:46.97ID:???
JSで直接、XHR を使うのは、難しい

jQueryでいいよ
0418Name_Not_Found
垢版 |
2017/05/14(日) 07:30:34.21ID:???
プログム板にあるのかよ
0419Name_Not_Found
垢版 |
2017/05/14(日) 07:32:19.63ID:???
またあほうがわいてるのかw
自分の思い通りにならなくて住民に噛みつくなよ
適切なスレあるならそっちでやれよ。ゆとりかよw
0422Name_Not_Found
垢版 |
2017/05/14(日) 12:03:42.71ID:xSsYyp6l
>>415
クッサ
0424Name_Not_Found
垢版 |
2017/05/14(日) 18:07:45.01ID:???
jQ使わない俺天才!

jsパケジ無し>jsJQ使い
0427Name_Not_Found
垢版 |
2017/05/16(火) 07:28:12.01ID:???
jQueryはゆとり向けみたいなpackage
0428Name_Not_Found
垢版 |
2017/05/17(水) 14:44:11.25ID:???
dataTransfer.filesとtarget.filesを連続して使い分けたい処理があるのですが振り分け方で良い方法ありませんか?

D&Dとinput fileによるローカルからのファイル読み込みで一ヶ所にまとめる必用がありifなどで振り分けられたらと考えています。
0429Name_Not_Found
垢版 |
2017/05/18(木) 23:09:22.73ID:???
すまんがそれだけの情報じゃ何も分からん
0433Name_Not_Found
垢版 |
2017/05/22(月) 03:27:10.54ID:???
>>428
↓これだな
>>431
ver jqhasanryuu = dataTransfer.files || target.files;

これやろうとするのはコピペPGか三流ぐらいだろ。
0434Name_Not_Found
垢版 |
2017/05/22(月) 11:32:31.37ID:???
キモい自演しか居なくなったか
0435Name_Not_Found
垢版 |
2017/05/22(月) 12:27:00.25ID:???
とあるソースのイベントハンドラ内の記述に
var _this = evt.target ? this : evt.srcElement;  // evtはイベント
というものがあったのですが、
このthisはグローバルオブジェクトではなくイベントを発生させたオブジェクトになるのですか?
調べたんですがいまいち要領を得ません
0436Name_Not_Found
垢版 |
2017/05/22(月) 13:36:43.05ID:ATJwoOUh
jqueryはそうなる
0438Name_Not_Found
垢版 |
2017/05/22(月) 21:50:06.90ID:???
>>435

>>436はわざと適当なこと言ってるようにしか見えんが(笑)
jQueryのイベントハンドラはDOMのイベントハンドラと挙動を合わせてあるので
thisはjQueryもDOM APIも同じイベントを発生させた要素になる

そしてそのコードはjQueryとは関係ないだろう。古いIE用のコードだからね
http://blog.skyld.org/2011/04/js-ie-attachevent.php
> JavaScript(クロスブラウザ対応版)
>
> function testFunc(evt){
> //IE以外はthisで、IEはevt.srcElementでターゲット要素を取得
> var _this = evt.target ? this : evt.srcElement;
> alert(_this.value);

jQueryはブラウザ間の挙動の違いを吸収するものだから、そんなコードは不要になる。
DOM APIを使ってるから必要になるコード(IE9以上対応でよければ不要)

でaddEventListener(jQueryも)でイベントハンドラ内のthisが要素への参照となるってことはここに書いてある

https://developer.mozilla.org/ja/docs/Web/API/EventTarget/addEventListener#The_value_of_this_within_the_handler
> addEventListener() を使って要素にハンドラー関数を設定したとき、ハンドラーの中の this の値は要素への参照となります。
> これはハンドラーに渡された event 引数の currentTarget プロパティの値と同じです。

ついでに下の方にはIEの場合(attachEventを使った場合)はthisがwindowになると書いてある。
> attachEvent の欠点が 1 つあります。this の値がイベントを起こした要素ではなく、window オブジェクトへの参照になってしまうことです。
0439Name_Not_Found
垢版 |
2017/05/23(火) 05:25:41.48ID:???
ES3 では、関数がネストしている場合に、
thisがグローバルオブジェクト(window)を指すから、皆、この挙動に悩まされた

JSのthisは、変態と呼ばれて、嫌われていた

一方、jQueryのthisは、処理中の要素を指すから、簡単
0441Name_Not_Found
垢版 |
2017/05/23(火) 12:25:22.27ID:???
>>438
ありがとうございます
addEventListenerを使うときはそう書くのですね
Event.targetのページに
var target = e.target || e.srcElement;
と書いてあったのでこう書くと思ってました
0442sage
垢版 |
2017/05/23(火) 16:20:10.05ID:f4fjV8Xz
どうかご教授願います。
全くの素人です。

function test(str){
var s = str
s = str.split('_');
for(var i = 0;i < s.length;i++)
{
console.log(s[i]);
}

};

上記のコードでエラーが出てしまいますが、どのようにすればエラーは無くせますか?
よろしくお願い致します。
0443Name_Not_Found
垢版 |
2017/05/23(火) 16:50:55.75ID:I2rWzv8d
そのエラーも書きなよ
引数が変なんでしょうけど
0444Name_Not_Found
垢版 |
2017/05/23(火) 17:04:56.61ID:???
>>443

google chromeのデベロッパーツールだと以下のエラーメッセージでした。
よろしくお願い致します。

Uncaught TypeError: str.split is not a function
0445Name_Not_Found
垢版 |
2017/05/23(火) 17:58:24.93ID:???
引数はなんなのさ
ちゃんと文字列になってる?

そしてvar s = strって何だ…
0446Name_Not_Found
垢版 |
2017/05/23(火) 18:12:08.36ID:???
PHP(やPerl)とJavaScriptでは<form> </form>タグ内で
送信ボタン押し時の関数あるいはデータ送り先ファイルの書き位置が違うって今日やっと知ったw
上に書くPHP、ボタン所に直接書くことが多いPHPと
0447Name_Not_Found
垢版 |
2017/05/23(火) 18:33:27.92ID:???
ボケてたあ

上に書くPHP、ボタンの所に直接書くことが多いJavaScript だった
あとでPerlも調べたらやっぱり上の方のaction=に書いてあった
0448Name_Not_Found
垢版 |
2017/05/23(火) 21:34:48.99ID:???
>>442
function test(str){
var s = str.split('_');
var slen= s.length;
for(var i=0;i<slen;i++){
console.log(s[i]);
}
}
0449Name_Not_Found
垢版 |
2017/05/23(火) 21:41:21.97ID:???
>>442
forだけどlength使って最大数を扱うと実効速度がjQueryなみ、もしくは数十倍〜数千倍は遅くなるよ。
手前で処理させておくのが常識。
0450Name_Not_Found
垢版 |
2017/05/23(火) 22:58:57.80ID:???
>>444
引数が文字列じゃないとそれがでる
あと>>448のコードに直して。
0451Name_Not_Found
垢版 |
2017/05/23(火) 23:03:45.93ID:???
blogspotでcookie拒否してるとページリロードが延々と繰り返される
これスクリプトで殺せる方法ってないですかね?やっぱ無理かな
0452Name_Not_Found
垢版 |
2017/05/24(水) 00:11:40.67ID:???
>>439
> ES3 では、関数がネストしている場合に、
> thisがグローバルオブジェクト(window)を指すから、皆、この挙動に悩まされた

JavaScriptの仕様は今と一緒だろ。
イベントハンドラ内においてthisがどうなるかがバラバラっていうのなら
あながち間違いじゃないが、そもそもthisというのは呼び出し方で決まるもので
関数内のthisがどうなるかはわからないのは当然。今もそれは変わってない。
0454Name_Not_Found
垢版 |
2017/05/24(水) 00:36:11.63ID:???
>>449
> forだけどlength使って最大数を扱うと実効速度がjQueryなみ、もしくは数十倍〜数千倍は遅くなるよ。

https://jsperf.com/array-length-vs-cached

誤差の範囲。リストの中で一番さが大きいIE11でも
変数に入れた所で1.5倍しか早くならない。
最新ブラウザならほぼ変わらない
0455Name_Not_Found
垢版 |
2017/05/24(水) 00:44:26.48ID:???
Edgeでやってみたけど、やっぱり差は1%未満だったな。

それにしてもEdgeの方がChromeよりも倍ぐらい速いというか
Firefoxも速いからChromeが遅いのか。
なんだだろう?
0456Name_Not_Found
垢版 |
2017/05/24(水) 00:52:12.08ID:???
>441
Event.targetのページ https://developer.mozilla.org/ja/docs/Web/API/Event/target
に書いてあるとおり IE6-IE8 サポートのための書き方だな。

IE6-IE8をサポートするなら確実にjQueryを使ったほうが良いよ。
サポートしなかったとしてもjQuery使ったほうが楽だけど

いずれにしろその書き方はする必要はない。
特定のブラウザ専用のコードはなるべく書かない
単一のコードにしておくべき
0457Name_Not_Found
垢版 |
2017/05/24(水) 01:07:04.72ID:???
var slen= s.length;
for(var i=0;i<slen;i++){
console.log(s[i]);
}

Array.length を、一旦変数に入れてから使うのは、
確か、jQuery のソースコード中でも、やっていたかな?
0458Name_Not_Found
垢版 |
2017/05/24(水) 01:33:55.11ID:???
forの方が速いんだろうけどめんどいからいつも
str.split('_').forEach(x => console.log(x));
で済ませちゃう
誤差程度と信じたい
0459Name_Not_Found
垢版 |
2017/05/24(水) 02:39:09.47ID:???
>>458
それみやすくて良いね。

優先順位にもよるけど自分が書く場合はこれ
速い>みやすい>短い

職場なら
みやすい>みじかい>速い


個人で書くときはjQueryは遅くなるので論外
記述量が増えれば増えるほど遅くなるw
0460Name_Not_Found
垢版 |
2017/05/24(水) 02:44:47.13ID:???
>>455
少ししかなければコンマ数秒の違いだけど、データベースの使えない処理でスライス非同期など大きなデータを扱うと違いが明らかになります。
0461Name_Not_Found
垢版 |
2017/05/24(水) 09:33:57.72ID:???
>>459
増えれば増えるほど遅くなるから
あまり増やさず簡潔に書くのがコツだよ
jQueryに限らずあらゆるプログラムの鉄則でもある
0462Name_Not_Found
垢版 |
2017/05/24(水) 09:42:11.10ID:???
>>459
> 優先順位にもよるけど自分が書く場合はこれ
> 速い>みやすい>短い

見やすいっていうのは、可読性、メンテナンス性と
いうことだと思うけど

可読性やメンテナンス性を落としてでも速くしたいってこと?

また、見やすくするっていうことは、読むべきコードを減らすことでもあるから
結果として見やすい=短いに、なるけど

(もちろん誰も関数名や変数名を1文字にしろとはいってない。単語の数が減るということ)
0463Name_Not_Found
垢版 |
2017/05/24(水) 09:43:58.76ID:???
>>460
> 少ししかなければコンマ数秒の違いだけど、データベースの使えない処理でスライス非同期など大きなデータを扱うと違いが明らかになります。

少しと大きなデータの境界線は?

大きなデータ=数十万件のデータを扱うと違いが明らかになります
といったら笑いを取れると思うよw
0464Name_Not_Found
垢版 |
2017/05/24(水) 10:27:32.97ID:???
自分の場合はFILE APIで動画ファイルをいじるときは速度を意識すること増えたぞ
0466Name_Not_Found
垢版 |
2017/05/24(水) 10:33:01.73ID:???
>>455
今はどのブラウザが速いの?
重い処理を行ったとき実感ではEdgeが速い気がするけど
0467Name_Not_Found
垢版 |
2017/05/24(水) 10:36:40.13ID:???
>>465
主に分割や暗号化だよ。
最近動画ファイルをローカルサイドで処理してくれよ的な案件がやたら多くて実効速度を意識することが増えた。
0468Name_Not_Found
垢版 |
2017/05/24(水) 11:58:07.98ID:???
速度なんて後から考えれば良いわ
最初から全部を全部可読性の低い速いコードで書く必要なんて無い
0469Name_Not_Found
垢版 |
2017/05/24(水) 12:13:13.17ID:???
>>466
HTML5なら実測もベンチもEdgeが圧勝
特にHTML5以降だとFFは塵ブラウザ扱いですわ
0470Name_Not_Found
垢版 |
2017/05/24(水) 12:15:08.87ID:???
>>467
jsで動画読み込めるの?
何十Mバイトもあるとフリーズしない??
0471Name_Not_Found
垢版 |
2017/05/24(水) 15:47:52.72ID:???
>>467
確かにここ1〜2年はクライアントからブラウザ側で処理して欲しいと頼まれることが増えた。
おまけに処理速度重視でと注文つけてくるから困る。
多いのはサムネイル生成と動画の分割アップロードばかりだけどな。
0472Name_Not_Found
垢版 |
2017/05/24(水) 16:03:30.69ID:???
>>470
大きなファイルを一度に読み込んだら止まるので工夫が必要
0473Name_Not_Found
垢版 |
2017/05/24(水) 19:45:15.93ID:???
今まではphp経由でサーバーで処理していたけどブラウザ元で処理させたいので改造してくれみたいな・・・

誰が書いたのか知らない小汚いコード見せられんだよなw
一から書いた方がマシなことが度々あるぞw
0474Name_Not_Found
垢版 |
2017/05/24(水) 21:09:28.02ID:???
spaを使っている場合のopenid connectを使ったユーザ認証に悩んでいます。
https://developers.google.com/identity/protocols/OpenIDConnect
を参考に

最初にリダイレクトでgoogleのユーザー認証画面が出た際に
コールバック先としてspaのurlに飛んだ後に
spa側でプロキシ的にサーバサイドにコールバックで渡されたパラメータ
state,
sessionState,
prompt,
code,
authuser

等を渡してサーバサイドでトークンの交換処理を走らせようとすると
"error": "redirect_uri_mismatch",
とリダイレクトurlがミスマッチとでてしまいます。
確かにspaのurlをリダイレクト先にしているのでこのエラーが出るのは分かるのですが
実際はどうやってspaにおけるユーザー認証をしたらいいんでしょうか?
できるだけサーパサイドで認証をしたいんですが
どうするのが一番いいのか教えていただけないでしょうか?
0475Name_Not_Found
垢版 |
2017/05/24(水) 22:38:07.92ID:???
>>468
> 速度なんて後から考えれば良いわ

そうそう。その通り。問題がある部分だけ対処すれば良いわけで、
何も考えずに、速度優先とかアホがやること

>>471
> おまけに処理速度重視でと注文つけてくるから困る。

処理速度重視というのをどんな場合でも処理速度優先って
意味だって思ってたらだけだぞ。処理速度が問題があるかどうかを
ちゃんと考えることが本当に処理速度を重視しているってことだから。


クライアントの隠れた注文。「開発コスト重視」という注文を無視してはいけない。
クライアントは開発コスト重視という注文をしなかったから開発コストは無視して
処理速度だけ重視しましたなんて言ったら怒られるからねw
0478Name_Not_Found
垢版 |
2017/05/25(木) 00:17:13.54ID:???
>>466
トータル的にEdgeが最速

>>470
読み込みできるけど巨大なファイルになると直読みは不可能
0479Name_Not_Found
垢版 |
2017/05/25(木) 00:29:43.85ID:???
>>478
昨年だけど↓の処理を仕事で書いたよ。

4ギガ以上のzipファイルを暗号化してからアップロード
そのあとダウンロードしてから復号化処理&保存
0481Name_Not_Found
垢版 |
2017/05/25(木) 01:19:19.08ID:???
465です。

>>470
その位なら大丈夫。
100M単位になると動きが怪しくなるので >>472さんのいう通り手前で止まらないようにする処理が必要になります。

>>471
動画を扱うプログラムを書いたことあるなら理解されてると思いますが、どうしても実効時間が長くなりますよね。
jqは外して回避されていますか?
0482Name_Not_Found
垢版 |
2017/05/25(木) 01:44:47.34ID:???
jQueryはDOMを扱うライブラリなのに、
動画と何の関係があんの?
0483Name_Not_Found
垢版 |
2017/05/25(木) 01:45:40.53ID:???
速度が重要なDOM処理なんてないでしょう?
0484Name_Not_Found
垢版 |
2017/05/25(木) 01:46:29.79ID:???
>>482
jq使うとネイティブよりも重くなるからだよ
0486Name_Not_Found
垢版 |
2017/05/25(木) 01:50:50.21ID:???
>>481
ブラウザの種類によって一度に読み込める限度とか?
一度にどのくらいまで読めますか?
0487Name_Not_Found
垢版 |
2017/05/25(木) 01:52:27.00ID:???
jQueryはWPの寄生虫みたいなものだろ
0488Name_Not_Found
垢版 |
2017/05/25(木) 02:05:50.98ID:???
PCのスペックも関係あるんじゃね?
370Mの動画の情報は問題なく読めたけど中身を処理したら止まったぞw
0489Name_Not_Found
垢版 |
2017/05/25(木) 02:25:48.18ID:HB+By5XX
皆TypeScript派?
自分はES201X+flow派。
0490Name_Not_Found
垢版 |
2017/05/25(木) 02:31:56.38ID:???
>>484
> jq使うとネイティブよりも重くなるからだよ

そんなことはわかってる。

論点はDOM=ユーザーインターフェースに関連する処理は
どちらにしろ人間の方が操作に追いつかないから
速くする意味が無いってところだ。

DOMで一体何をしたいんだよ?
tableの1セルを1ピクセルとみなして動画でも表示させる気か?
0491Name_Not_Found
垢版 |
2017/05/25(木) 02:33:03.81ID:???
ABやTAの処理は確かV8だと一年くらい前にメモリを浪費したりすることの無いように実装された
ただし未だこれらを扱う周辺APIはメモリリークを起こしてしまう
まあURL.createForとか必要なAPI不足の面もあるよね
0492Name_Not_Found
垢版 |
2017/05/25(木) 03:43:51.45ID:???
>>490
物事を良いか悪いかでしか判断できない病んでるような人?
0493Name_Not_Found
垢版 |
2017/05/25(木) 03:53:57.59ID:???
>>479
ここでこの処理の流れを説明できる人少なそう
0494Name_Not_Found
垢版 |
2017/05/25(木) 04:07:03.50ID:???
>>484
>>487
重くなるというよりjQueryはWPのプラグイン開発のときぐらいしか扱わないな。
法人サイトでもWP使うこと多いけどjs習得している者からしたらアホだなとしか思えん。
セキュリティリスクも高まるしな。
今まで穴丸出しのサイト何度見たことやら。
0495Name_Not_Found
垢版 |
2017/05/25(木) 07:32:38.27ID:???
速度優先では、可読性が悪くなるから、バグが増えて、開発費が増える。
プロジェクトも赤字になるから、自分の給料が減って、会社も倒産するだろ

速度を優先する場合は、0.1秒とか速くなった分だけ、
売上が1億円増えるとか、利益が増えないと、仕事としては成立しないだろ

利益と品質の関係(線)を、グラフに描いて、その交点を求めて、
それ以上に利益が多いエリアしか、成立しない

数値計算に、jQueryなんて関係しない。
一々、DOMにアクセスするのか?

DOMから切り離すとか、
DOM にアタッチしていない、Document.createDocumentFragment() とか使えば?
0496Name_Not_Found
垢版 |
2017/05/25(木) 07:34:04.31ID:???
速度気にするなら速いパソコンを使えよ
0497Name_Not_Found
垢版 |
2017/05/25(木) 07:48:37.25ID:???
>>474
リダイレクトエラーなら、リダイレクトしなければいい

サンプルを見るとか、そのサービスを提供している会社に聞けば?
0498Name_Not_Found
垢版 |
2017/05/25(木) 09:16:37.77ID:???
>>496
> 速度気にするなら速いパソコンを使えよ
ユーザーに1Ghz以上のコンピュータを要求する気か?
0499Name_Not_Found
垢版 |
2017/05/25(木) 09:18:40.25ID:???
>>494
jQueryを使える = jsを習得しているなんだがw
0500Name_Not_Found
垢版 |
2017/05/25(木) 10:30:05.49ID:???
>>494
jQueryは単にDOM関連の処理を短くかけるだけなので
セキュリティリスクに何の影響も与えない

セキュリティ的に問題があるjQueryを使って書いたコードを
同じ意味でjQueryを使わずに書いて
セキュリティリスクがなくなるっていうのなら、
そのコードを見てみたいものだw
0501Name_Not_Found
垢版 |
2017/05/25(木) 10:34:07.00ID:???
例えば生のJavaScriptを使って書くと
有名なXSS脆弱性が発生する
0502Name_Not_Found
垢版 |
2017/05/25(木) 11:05:09.39ID:???
>>495
自信満々に極端な主張して気持ちが悪いw
0503Name_Not_Found
垢版 |
2017/05/25(木) 11:59:28.60ID:???
速さやファイルサイズ等に関しては既に結論が出ているのにな
まるでjQuery教の信者みたいですな・・
というかピークは2013年頃で今は衰退中なんだよね
0504Name_Not_Found
垢版 |
2017/05/25(木) 12:19:24.24ID:M/N4zZ45
皆もそろそろvue.jsとwebpackに移行しなよ
0505Name_Not_Found
垢版 |
2017/05/25(木) 13:25:10.54ID:???
>>504
とかいいつつ結構未だにビジネスユースはjqueryぽいね。
reactではないのか
0506Name_Not_Found
垢版 |
2017/05/25(木) 14:25:10.58ID:???
jqueryは4〜5年前ならクロスブラウザ問題で活躍できたけど今はそれほど重宝されていないよな。

うちの会社の場合だと規模の小さなサイトやwordpress関連で扱う程度。
まあwordpressがjqueryを処分しない限り完全消滅とかはないだろけど下火なのは間違いない。
大手サイトでも採用しない風潮が強まってきている。
0507Name_Not_Found
垢版 |
2017/05/25(木) 14:34:09.12ID:???
>>500
横槍すまん。
古いjqバージョン使ってると好ましくはないでしょうね。
アプデされる仕組みなら回避できると思うけど更新しないサイトはごまんとあるのが現実だからね。
0508Name_Not_Found
垢版 |
2017/05/25(木) 14:35:34.16ID:???
> 古いjqバージョン使ってると好ましくはないでしょうね。
なんで?
0509Name_Not_Found
垢版 |
2017/05/25(木) 14:43:09.16ID:???
>>506
> 大手サイトでも採用しない風潮が強まってきている。

幾つかのニュースサイトやブログを見てみたけど、
jQueryを使ってるものはあっても、reactやangularを
使ってるところなんてなかったぞ
例えばCNNはjQueryを使っていた。

facebookは開発元だからreact使ってるだろうけど、
IT系とか関係がありそうなのをのぞいて、
jQueryを使ってない大手サイトってどこよ?
そしてそこは何を使ってるんだ?
0510Name_Not_Found
垢版 |
2017/05/25(木) 14:44:16.92ID:???
>>499
自分はjQueryに慣れすぎてネイティブの書き方忘れてしまった。
というかコピベプログラマーだからjQuery無しとかググり無しなら厳しいですわ
0512Name_Not_Found
垢版 |
2017/05/25(木) 14:46:21.44ID:???
こっちでも長文わいてるのか
0515Name_Not_Found
垢版 |
2017/05/25(木) 14:56:56.74ID:???
>>513
もっとリストアップしないと証明できないぞ
0516Name_Not_Found
垢版 |
2017/05/25(木) 15:06:28.44ID:???
「大手サイトでも採用しない」というのが証明できないぞ
0517Name_Not_Found
垢版 |
2017/05/25(木) 15:08:50.46ID:???
確かにjQueryを使う必要性は薄れてきてはいる。
けど学習コスパが良いから覚えて損はないだろ。

>>513
>>511
この人はjQuery教の信者なのか?
0518Name_Not_Found
垢版 |
2017/05/25(木) 15:09:14.66ID:???
大手サイトでも採用しない風潮が強まったっていったんですー
採用しないなんて言ってないんですー

風潮があるだけですー
その風潮が強まっただけですー

1%が2%になっただけでも強まったって言って良いんですー

最終的にjQueryを使っていても、
採用しない風潮が強まったのは事実なんですー
0519Name_Not_Found
垢版 |
2017/05/25(木) 15:10:59.34ID:???
>>517
> 確かにjQueryを使う必要性は薄れてきてはいる。

それは明らかにあなたの感想ですよね?
どこかにデータでもあるんですか?
0520Name_Not_Found
垢版 |
2017/05/25(木) 15:12:02.12ID:???
>>516
そんな熱心に知りたいのなら割合を調べると良い

上場企業ページ
ポータルサイト
ecサイト
検索サイト
他多数

実際の利用率が種別でもわかるよ。
0521Name_Not_Found
垢版 |
2017/05/25(木) 15:13:29.06ID:???
>>519
そんなことも知らないのかよ。
ぐぐれよ・・・
面倒臭いやつだな。
0522Name_Not_Found
垢版 |
2017/05/25(木) 15:13:53.24ID:???
>>520
あなたが調べた上で、大手サイトで使用率が減ったって言ったんじゃないんですか?

調べたならデータ出せるでしょう?
なぜ俺に調べろと?

あなた、調べてデータに基づいて言ってるんですよね?
0523Name_Not_Found
垢版 |
2017/05/25(木) 15:16:08.39ID:???
>>522
520だけど初書き込みなんですが??
余計なアドバイスしてごめんなさい。
0526Name_Not_Found
垢版 |
2017/05/25(木) 15:23:39.32ID:???
AngularJSの使用率は、0.4%とjQueryとは比べ物にはならないが、
これでも10位と検討している。

だがReactはその他に含まれてるw

> The following JavaScript libraries have a market share of less than 0.1%
>
vSemantic UI
> Zepto
> React
> Sizzle
> DHTMLX
> Ember.js
> MochiKit
> p5.js
> DOMAssistant
> UIZE
> Midori
> Google Closure Library
> Webix
> SproutCore
> Glow
> JavaScriptMVC
0527Name_Not_Found
垢版 |
2017/05/25(木) 15:30:36.65ID:???
スレ伸びていたので覗き見チラ

jQueryはバージョン1以外は使用する価値ないと思うけど
クロスブラウザ対策も容易になって存在感無いでしょう
確かバージョン別の使用率は1が90%以上だったはず
0529Name_Not_Found
垢版 |
2017/05/25(木) 15:42:51.07ID:???
https://w3techs.com/technologies/history_overview/javascript_library/all/q

ここからわかるのは、何も使用してないってのが減ってjQueryを
使用するようになってきてるってことなんだよな。
Bootstrapも増えてるけど、これjQueryと組み合わせるのが主な使い方w

ちなみに一つのサイトで複数使うことがあるから合計は100%になるわけじゃない

何も使ってないサイトが25%あるから、あと10年はこのペースで
jQuery採用が増えていく可能性がある。
0530Name_Not_Found
垢版 |
2017/05/25(木) 15:47:45.62ID:WMrhg9lz
新規のものだとjQuery使ってないなぁ
SPA案件も無いしVue.jsだったりinfernoだったり使ってる
コンポーネント作れれば何でもい
0531Name_Not_Found
垢版 |
2017/05/25(木) 15:49:33.02ID:???
>>527
jQueryを使っている人とお前の考えが大きくずれてんのよ。
お前はクロスブラウザのために使ってると考えてるだろ?
だから間違った結論に至ってる。

jQuery使ってる人にとっては、クロスブラウザなのは当たり前
開発効率が高いという価値があるから使ってるんだよ。
0532Name_Not_Found
垢版 |
2017/05/25(木) 15:50:23.33ID:???
>>506
風潮というより必要性が以前より無くなっただけかと
バージョン1から受けられるメリットは凄かったが以降は別に無くても構わないといった状態だからな
0533Name_Not_Found
垢版 |
2017/05/25(木) 15:54:35.50ID:???
結局さ「無くても構わない」って状況だから
jQueryが使われるのさ。

無くす理由がないから、開発効率が高いjQueryが使われる

jQueryをなくしたければ「無くても構わない」じゃなくて
jQueryよりも開発効率が高いを売りにしないと。
0534Name_Not_Found
垢版 |
2017/05/25(木) 15:57:29.56ID:???
極端な考えかたしてる人いますね
0535Name_Not_Found
垢版 |
2017/05/25(木) 15:58:09.58ID:???
まあデータが全てってことよ。
0536Name_Not_Found
垢版 |
2017/05/25(木) 16:00:44.40ID:???
>>533
精神疾患持ち?
物事白黒つけたくなるのは勝手だけど第三者からみても異常としか思えん。
0537Name_Not_Found
垢版 |
2017/05/25(木) 16:01:52.58ID:???
>>536
そのレスは、このスレの話題となんか関係あるのか?
どう見ても関係ないが、そういう内容のレスをした理由はなんだ?
0539Name_Not_Found
垢版 |
2017/05/25(木) 16:04:45.81ID:???
>>536
>>537
真性というか境界性パーソナリティ障害者持ちに合致した輩が張り付いてるみたい。
0540Name_Not_Found
垢版 |
2017/05/25(木) 16:05:34.57ID:M/N4zZ45
jQueryはUXのために使ってる
ヌルヌルEaseInOutExpoでアニメーションさせるためには
既存資産が豊富なjQueryが良い
0541Name_Not_Found
垢版 |
2017/05/25(木) 16:07:10.31ID:???
使う用途は人それぞれだよな
0543Name_Not_Found
垢版 |
2017/05/25(木) 16:09:02.73ID:???
今だとスマホとかのバグ対応のために
jQuery使ってる人も多そうだね。

該当機種を持ってなければ気づきようがない問題を
自分で対処するとか大変すぎるしね。
0544Name_Not_Found
垢版 |
2017/05/25(木) 16:09:49.76ID:???
なんかアンカーマンが発狂してるなw
0545Name_Not_Found
垢版 |
2017/05/25(木) 16:11:36.86ID:???
真性乙ってところか。
おまいらボダには当たり障りなく接してやれよ。
0548Name_Not_Found
垢版 |
2017/05/25(木) 16:14:04.07ID:???
>>547
そいつに触れるな。
意気揚々としだだろ
0549Name_Not_Found
垢版 |
2017/05/25(木) 16:24:01.92ID:???
>>547
今検索したら↓
二極思考、極端な主調、思い込みの激しさ、自分の考えが正しい、敵味方で区別、善し悪しで極端な評価

性格的なものなのか病気なのかは医者でないからわからんが、レスみる限り該当している奴はおるわな・・
0550Name_Not_Found
垢版 |
2017/05/25(木) 16:26:39.72ID:???
↓例えばこういうこというやつ
> jQueryはWPの寄生虫みたいなものだろ
0551Name_Not_Found
垢版 |
2017/05/25(木) 16:27:17.51ID:???
jquery賛成派と否定派の対立はいつ迄も続くのであった…
0552Name_Not_Found
垢版 |
2017/05/25(木) 16:28:00.81ID:???
直近の会話で参考になったのはこのデータぐらいだな
思い込みではない客観的なデータ

> https://w3techs.com/technologies/overview/javascript_library/all
>
> 2016/05から2017/05のjQuery使用率の推移。直近の一年でも2%増えているんだわ
> https://w3techs.com/technologies/history_overview/javascript_library/all
> 70.1% 70.2% 70.4% 70.6% 70.7% 70.9% 71.4% 71.8% 71.9% 72.0% 72.1% 72.2% 72.3% 72.5%
0554Name_Not_Found
垢版 |
2017/05/25(木) 16:30:29.68ID:???
>>552
jQueryのバージョン使用率はどのくらいですか
0555Name_Not_Found
垢版 |
2017/05/25(木) 16:32:02.29ID:???
>>549
境界性パーソナリティ障害者という見たいですね
0557Name_Not_Found
垢版 |
2017/05/25(木) 16:49:57.06ID:???
まあ俺は今後もjqueryは必要に応じて使うよ。
0558Name_Not_Found
垢版 |
2017/05/25(木) 17:05:32.78ID:???
JQはwordpressの仕様変更するまで使えるだろ
0561Name_Not_Found
垢版 |
2017/05/25(木) 17:30:16.23ID:???
IE自爆してくれて本当に助かった
Chromeだけ対応すりゃいい時代最高だわ
0562Name_Not_Found
垢版 |
2017/05/25(木) 19:08:22.62ID:???
スマホ含めずIE9以下のアクセスは1割以下なんだがそろそろ切ろうかと思っている。
0563Name_Not_Found
垢版 |
2017/05/25(木) 21:16:00.88ID:???
>>556
> 何を意味するかは一目瞭然

どこのデータかは明示されてないけど、それが本当なら、
まだIE8以下対応が重要だってことですね。

IE8以下対応が重要なら、最近のフレームワークに
乗り換えられないのも納得です。

1と2の違いはブラウザサポートの違いだけで完全に互換性があるので
対応ブラウザを減らすだけで、2に置き換えられるってのも
とりあえず1を使ってるという理由でしょうね。
0564Name_Not_Found
垢版 |
2017/05/25(木) 21:23:34.61ID:???
元ネタはここのようですね。
同じくw3techsだから信用できそう。

https://w3techs.com/technologies/details/js-jquery/all/all

https://w3techs.com/technologies/details/js-jquery/1/all
https://w3techs.com/technologies/details/js-jquery/1.12/all

約3割が1系最新の1.12.4、一つ前の1.11を含めれば過半数。
ちゃんとアップデートしている or 最近作られたサイトみたいです。
jQueryが多いのはメンテされてない古いサイトが多いからってわけでもなさそうですね。
0565Name_Not_Found
垢版 |
2017/05/25(木) 21:40:37.65ID:???
>>561
> Chromeだけ対応すりゃいい時代最高だわ

ブラウザのシェアって何%切ったら切り捨てる?
0567Name_Not_Found
垢版 |
2017/05/25(木) 21:48:29.38ID:???
みんなが切り捨てれば否応無く切り捨てられるようになる
0568Name_Not_Found
垢版 |
2017/05/25(木) 21:50:28.46ID:???
>>567
いやでござる。アップデートしたくないでござる
Windows 10にしたくないでござる。
強制アップデートいやでござる
何も変えたくないでござある。
今までと同じでバグ修正だけしてろでござる
0570Name_Not_Found
垢版 |
2017/05/25(木) 22:08:07.86ID:???
jQueryの1と2で機能は同じなのに、あえて対応ブラウザを減らす意味ってあるの?
0571Name_Not_Found
垢版 |
2017/05/25(木) 22:08:15.68ID:???
>>565
会社によって考え方違うだろうな

うちの場合は2.5%以下としているよ
0572Name_Not_Found
垢版 |
2017/05/25(木) 22:10:10.35ID:???
jQueryは前ほど使うメリットないんだよな
バージョン1のときは大変お世話になりました
0574Name_Not_Found
垢版 |
2017/05/25(木) 22:13:21.07ID:???
>>572
前ほど使うメリットがないってことは、
メリットが減っただけで、未だメリットはあるってこと?
0575Name_Not_Found
垢版 |
2017/05/25(木) 22:15:01.37ID:???
そう。減っただけ。
メリットがなくなってしまったわけじゃない。
またjQueryの代替とされるものは使うのが大変
0576Name_Not_Found
垢版 |
2017/05/25(木) 22:31:29.24ID:???
>>574
メリットデメリットは普通にあるだろ
以前よりは無くなったというだけ
0577Name_Not_Found
垢版 |
2017/05/25(木) 22:32:56.43ID:???
確かに。ネットワーク速度とかCPU速度とか改善されたので
jQueryが重いというデメリットはなくなりましたね。
というか重いという話だとフレームワークのほうが重いけどw
0579Name_Not_Found
垢版 |
2017/05/25(木) 23:29:57.49ID:???
うちの会社では法人サイトの保守管理を5000件ほどしているけど、jq使用しているのは1ばかりだな
0580Name_Not_Found
垢版 |
2017/05/26(金) 00:09:56.10ID:???
jQueryの1と2を比較すると

機能: 同じ
対応ブラウザ: 1の方が多い(古いブラウザ対応)
ファイルサイズ: 2.2.2の方が11KB少ない (1.12.4=97KB、2.2.4=86KB)
速度: おそらく2の方が速いが体感上はかわらない

ってことで、対応ブラウザを取るか11KBとるかなんだよね。
2の方が優れているってわけじゃく、むしろ1の方が対応ブラウザが多いというメリットが有る

スマホ専用サイトは古いブラウザが存在しないから11KBを取るのもありだけど
PCサイトだと、古いブラウザ対応の方が重要になる
0581Name_Not_Found
垢版 |
2017/05/26(金) 00:26:08.88ID:???
>>574
まとめるとこんな感じかな

メリット
クロスブラウザ対応
コード量が減る
プラグインが豊富

デメリット
HTTP通信が増える
ネイティブのJavaScriptより遅い
コンフリクトなど



ネットは速くて軽いのが絶対的な正義だから、俺みたいなサーバー側の立場からしても無駄なく処理してもらいたい
ホント昼休み時間は腹が立つぞ
0582Name_Not_Found
垢版 |
2017/05/26(金) 00:38:15.23ID:???
スレチにも程がある
ここはJavaScriptの質問スレでjQuery関連は専用スレがあるんだからこっち来るな
0583Name_Not_Found
垢版 |
2017/05/26(金) 01:06:43.33ID:???
スレチではないだろjqueryを使うか使わないかという話だし。
俺は基本的にtypescript+reactだけど趣味でしか使ってないな。

結局php案件とかだとreact使うメリットないし、
jqueyになるんじゃないかな。

phpの案件率圧倒的だし
0585Name_Not_Found
垢版 |
2017/05/26(金) 01:24:07.92ID:???
>>581
メリットのコード量が減ることによってHTTP通信も減るよ。
デメリットのコンフリクトはよくわからない。


> ネットは速くて軽いのが絶対的な正義だから、俺みたいなサーバー側の立場からしても無駄なく処理してもらいたい
CDNを使うのがいいだろうね。自分で書いたコードは通常CDNで配信されずサーバーから配信するしかないが、
jQueryのような汎用のライブラリにするとCDNが使えるから、サーバーの仕事も減る

そうやって自分が書くコードを減らして、ライブラリ側に持っていくことで
速度も速くなる
0586Name_Not_Found
垢版 |
2017/05/26(金) 01:27:16.12ID:???
>>583
PHPというか、リアルタイム性が必要なサイトは
少ないってことなんだよね。

今は無理してAjax使おうとかしているやつがいるけど、
実際はページをそのまま返せば十分だったりする

動的にページは生成するが、表示された後、
一部だけを変更したいって要望は少ない。
0587Name_Not_Found
垢版 |
2017/05/26(金) 01:32:59.56ID:???
おまいらどんだけjQ好きなんだよw
0589Name_Not_Found
垢版 |
2017/05/26(金) 06:48:03.11ID:???
メリット
クロスブラウザ対応
ブラウザのバグ対応
コード量が減る(可読性、メンテナンス性向上)
ライブラリ以外のHTTP通信が減る
jQuery部分にCDNが使用可能
フレームワークより軽い
プラグインが豊富
noConflictメソッドによるコンフリクト対応

デメリット
ライブラリ部分のHTTP通信が増える(約11KB)
ネイティブのJavaScriptより遅い(影響は少ない)
0590Name_Not_Found
垢版 |
2017/05/26(金) 07:23:58.83ID:???
噂の境界性パーソナリティ障害者おるのか・・
0592Name_Not_Found
垢版 |
2017/05/26(金) 07:30:01.39ID:???
jQueryに異常なほど反応する人は何なの?
jQuery使うと死ぬの?
0593Name_Not_Found
垢版 |
2017/05/26(金) 07:32:51.88ID:???
ここはJavaScriptのスレでjQueryのスレは別に用意されているだが・・
基地外荒らしなのか?
0594Name_Not_Found
垢版 |
2017/05/26(金) 07:38:05.78ID:???
riotとか使いだしたからjqはもう用済み
0595Name_Not_Found
垢版 |
2017/05/26(金) 07:40:49.12ID:???
jQの話題は自重した方が良さそうだな
スレチや荒らしが顔真っ赤にしてレスしまくるだけだ
0596Name_Not_Found
垢版 |
2017/05/26(金) 07:54:25.91ID:???
DLの速さで言えば、CDNから配信される、jQuery1系でよい

1系の方が、使っているサイト数が多いから、最初にどこかのサイトで読み込めば、
ブラウザ内にキャッシュされるから、次からはDLしない

それで、Googleは多くのサイトで、AngularJS を使えと言ってる。
キャッシュされると、DLは1度で済むから
0597Name_Not_Found
垢版 |
2017/05/26(金) 08:43:09.07ID:???
プロジェクトによって何を使うかは異なるんだから
プロジェクトに合わせろよ
0598Name_Not_Found
垢版 |
2017/05/26(金) 09:35:08.89ID:???
CDNって使ったほうがいいのかな。
何かそれが原因でサイトが止まるのが怖い。複数サイトでキャッシュが共有できるのはメリットなんだろうけど
0599Name_Not_Found
垢版 |
2017/05/26(金) 09:47:06.13ID:???
>>596
jQueryもキャッシュされるとDLは一度ですむと思いますが?
0601Name_Not_Found
垢版 |
2017/05/26(金) 13:29:40.81ID:???
>>594
Riot.jsは個人的には好きなプロダクトなんだが
ネイティブスマホアプリ化の導線がないのがつらい

ReactならReact Native
Vue.jsならWeex

結局Reactのシンタックスが気持ち悪いと感じる人はVue.jsにいくしかなくなる
Vue.jsはwebpackとセットで覚えなきゃいけないから
Riot.jsをシンプルに使ってた人は、めんどくさいな、と感じるかもしれん
0602Name_Not_Found
垢版 |
2017/05/26(金) 20:36:57.01ID:???
>>601
スレチなので他に移動してください。
0604Name_Not_Found
垢版 |
2017/05/26(金) 21:04:04.04ID:???
>>601
> 結局Reactのシンタックスが気持ち悪いと感じる人はVue.jsにいくしかなくなる

ReactやAngularの問題点はそこじゃなくて、
例えばブログサイトやニュースサイトなど
HTMLでページが作られてる状態で、
ページの一部にだけ取り込むことが難しいところなんだよ
0606Name_Not_Found
垢版 |
2017/05/27(土) 01:43:53.15ID:???
ひでーなこれw
ここまでの間違い。バカなのかわざとなのか
晒し上げのネタにちょうどいいやw

604 名前:Name_Not_Found[sage] 投稿日:2017/05/27(土) 01:28:41.74 ID:???
>>602
具体的に説明。

影響があるのは何Mといった大きなjQueryの内容を使うスクリプトやサーバー管理者です。

一件のjQueryを読み込む程度なら気にする必要はありませんが、アクセス数の多いウェブサイトだと必然的にjQueryのリクエストも増えます。

その結果、サーバー稼働率・負荷上昇に繋がります。

サーバー性能が良ければさほど気にする必要はありません。
ですが少しでも快適にするためには無駄を省く必要はありますよ。

ちなみにCDNは接続できない地区またはブロックされることもあります。日本でも繋がりにくいときもありますので業務用としてはお薦めできません。
0607Name_Not_Found
垢版 |
2017/05/27(土) 01:46:51.66ID:???
またスレチのボダ荒らしわいてるのか
0608Name_Not_Found
垢版 |
2017/05/27(土) 01:47:22.78ID:???
よくそこまでめちゃくちゃにかけるねw
多分わざとネタ書いてそっちを盛り上げて
移動させようとしているんだろうけど、
こうもあからさまだと、笑えてくるw
0609Name_Not_Found
垢版 |
2017/05/27(土) 01:49:17.07ID:???
>>607
レス早すぎw
やはりお前のしわざかw
0613Name_Not_Found
垢版 |
2017/05/27(土) 02:17:49.35ID:???
>>612
そんなことしたら中国からの注文なくなるだろ・・・
0614Name_Not_Found
垢版 |
2017/05/27(土) 02:25:51.77ID:???
CDNのキャッシュは魅力的だけどな
0615Name_Not_Found
垢版 |
2017/05/27(土) 03:39:36.31ID:???
>>613
Googleドメインはブロックされてるらしいな
0617Name_Not_Found
垢版 |
2017/05/27(土) 03:58:25.62ID:???
>>606-615
魚拓しておこう
こんな傑作なスレ中々みれん
無知とアホと気違いのコラボレス
0618Name_Not_Found
垢版 |
2017/05/27(土) 04:11:54.24ID:???
中国の事を言い出したら、レンタルサーバーは使えない

その中の1つのサイトでも、共産党の悪口を書けば、
そのレンタルサーバーは、すべてアクセス禁止になる

日本の行政からでも既に、
すべてのレンタルサーバーは、アクセス禁止になっているし

例えば、生涯学習センターのPCから、
すべてのレンタルサーバー上のサイトは、アクセス禁止になっている
0620Name_Not_Found
垢版 |
2017/05/27(土) 11:06:56.49ID:???
現実問題としてcdnってつかってるの?
あんまり外部リソースに頼ると、リスクは上がると思うんだけど

cdnがアクセス可能 && 自サーバアクセス可能

という条件を満たすってことは障害発生率は上昇はするわけだし
0621Name_Not_Found
垢版 |
2017/05/27(土) 11:31:46.71ID:???
>>619
辿るとこの流れ

>>jQuery 質問スレッド vol.7 [無断転載禁止]の↓ レスに対して
>>数行のためにjQueryを読み込みするのは無駄な行為だと先生に注意されたのですが具体的にどの変が無駄なのか教えて欲しいです

詳細
http://echo.2ch.net/test/read.cgi/hp/1478055094/602-604

このレスに反応
>>606 >>608-609

反応した者に反応とされるレス
>>607 >>610-611


>> CDNが接続できないとか何いってんだって感じだなw
探せばそういうのあるかもしれんけど、繋がりにくいとかありえんわ。そんなに不安ならGoogleのCDNでも使ってりゃいいだろ
>>612

そんなことしたら中国からの注文なくなるだろ・・・
>>613
0622Name_Not_Found
垢版 |
2017/05/27(土) 11:44:35.63ID:???
>>620
CDNは静的なファイルを配信するだけだからかなり高度に安定してるよ。
高速配信の仕組み上複数台サーバー構成だしね。
アカマイなんて100%可用性SLAを提供しているし、Googleも99.95%

それでも不安というのなら、CDNから読み込めなければローカルの方を使うようにすれば良いんだよ。
例えばjQueryなら、jQueryオブジェクトが存在しなければ、別のところから読み込むように作るだけ
0623Name_Not_Found
垢版 |
2017/05/27(土) 11:46:02.93ID:???
>>621
>数行のためにjQueryを読み込みするのは無駄な行為だと先生に注意されたのですが

ワロタw
釣り臭いぷんぷんだなw
誰がつられてやるかって感じだ。
0624Name_Not_Found
垢版 |
2017/05/27(土) 11:46:46.32ID:???
>>612
どんまい。

>>613
一般的にECサイトでの使用は避けると思いますが、CDNが接続されないときの緊急回避策はありますよ。
0626Name_Not_Found
垢版 |
2017/05/27(土) 11:57:49.96ID:???
>>621
どのレスのどの部分が間違いなの?
初心者にもわかるように頼む
0627Name_Not_Found
垢版 |
2017/05/27(土) 13:32:45.38ID:???
CDNのことじゃね?
繋がらないというか遅いときは度々あると思うがブロックのことは自分も知らんかった
0628Name_Not_Found
垢版 |
2017/05/27(土) 14:21:12.19ID:???
中国 "が" ブロックしているのは CDNの問題ではないことに注意なw

ブロック?はぁ?何言ってんのって感じだ
屁理屈言ってるやつにだまされないようにしましょう。
0629Name_Not_Found
垢版 |
2017/05/27(土) 14:26:37.10ID:???
>>そんなに不安ならGoogleのCDNでも使ってりゃいいだろ
0630Name_Not_Found
垢版 |
2017/05/27(土) 14:28:03.57ID:???
Googleでも中国からブロックされるんじゃね?
0631Name_Not_Found
垢版 |
2017/05/27(土) 14:29:19.03ID:???
中国ではGoogle検索はもちろん、Facebook(フェイスブック), YouTube(ユーチューブ), Twitter(ツイッター)も使えません。
0632Name_Not_Found
垢版 |
2017/05/27(土) 14:31:58.16ID:???
中国に対応するのは必須だからCDNは使えませんね。
CDNは全部規制されてますから。添加のGoogleだって規制されてる
0633Name_Not_Found
垢版 |
2017/05/27(土) 14:33:27.49ID:???
うぜーなw

天安門事件

はい撃破(わらい)
0634Name_Not_Found
垢版 |
2017/05/27(土) 15:07:18.61ID:???
http://echo.2ch.net/test/read.cgi/hp/1478055094/604
>>ちなみにCDNは接続できない地区またはブロックされることもあります。日本でも繋がりにくいときもありますので業務用としてはお薦めできません。

>>606
>> ひでーなこれw
ここまでの間違い。バカなのかわざとなのか
晒し上げのネタにちょうどいいやw

>>612
>> CDNが接続できないとか何いってんだって感じだなw
探せばそういうのあるかもしれんけど、
繋がりにくいとかありえんわ。
そんなに不安ならGoogleのCDNでも使ってりゃいいだろ

>>613
>>そんなことしたら中国からの注文なくなるだろ・・・

やり取り見てわかったことは↓

別スレの604は「 CDNは接続できない地区またはブロックされることもあります。 」と可能性を主張したのに対して

>>606 は間違いと主張。
>>612 ありえんわと否定。
決定的と思われる発言がこれ「そんなに不安ならGoogleのCDNでも使ってりゃいいだろ」

やり取りを見ていて、おそらくCDNのデメリットを理解されていない。大規模商用サイトの構築経験がない方だとわかります。

デメリットを熟知されているのであればGoogleのCDNと言う説明レスではなく回避策やフォールバック等の説明をするべき。

以降は調べたのか理解されたようですね。
0635Name_Not_Found
垢版 |
2017/05/27(土) 15:18:39.04ID:???
CDNは〜じゃなくて、Googleは接続できない地区がありますって話じゃないの?
Google以外にもCDNあるでしょ?
何をそんなに必死になってるんだろう?
0636Name_Not_Found
垢版 |
2017/05/27(土) 15:23:11.93ID:???
>>635
されることもあると説明しているのに対して否定や無知なレスがついたのがダメだったのかと
0637Name_Not_Found
垢版 |
2017/05/27(土) 15:25:59.18ID:???
>>612
ITドカタ系のまとめサイトのエサになる恥ずかしいレスだなw
0638Name_Not_Found
垢版 |
2017/05/27(土) 15:29:25.83ID:???
この後に必要になりそうだから書いておくと

http://faq.ymobile.jp/faq/view/401859
> 【ニュースサイトの閲覧】約300KB/1ページ

ニュースサイトで1ページ300KBぐらいで考えてるんだな
0639Name_Not_Found
垢版 |
2017/05/27(土) 15:30:26.43ID:???
>>636
うん? 中国は検閲してるから、Google以外にも
あちこちブロックしてるよね?
それは中国の問題であって
0640Name_Not_Found
垢版 |
2017/05/27(土) 15:35:28.26ID:???
>>634
どうでも良いこと長々と・・・
思い込み激しい人いるからそのへんにしておけ
0641Name_Not_Found
垢版 |
2017/05/27(土) 15:42:56.07ID:???
話つまんないし、jQuery(だけに限らないけど)などで
使用されているCDNについて幾つか

jQuery公式(StackPathってのを使ってるようだ)
https://code.jquery.com/

今話題の(笑)Google
https://developers.google.com/speed/libraries/#jquery

Microsoftからも配信。※jQueryはASP.NETに組み込まれています
https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview#jQuery_Releases_on_the_CDN_0

CDNJS マイナーなものなど多くのライブラリが登録されてる。実際の配信はCloudflareかな?
https://cdnjs.com/libraries/jquery/

JSDELIVR こちらも同じく多くのライブラリが配信されてる
http://www.jsdelivr.com/projects/jquery

なんか調べてたら中国で使えるCDNについて書いてあるページが見つかったわw
http://techblog.clara.jp/2014/12/cdn-china-jquery-google/
> http://code.jquery.com/jquery-1.9.1.min.js
> http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js
> http://libs.baidu.com/jquery/1.9.1/jquery.min.js
0642Name_Not_Found
垢版 |
2017/05/27(土) 15:51:03.60ID:???
CDNが停止している時のフォールバックって
そもそもHTMLの仕様にあってもいいと思うんだけどな。
0643Name_Not_Found
垢版 |
2017/05/27(土) 15:54:29.78ID:???
またおまいら揉めてるのかよ
0644Name_Not_Found
垢版 |
2017/05/27(土) 15:56:28.48ID:???
インターネットで商品を売ってよいのでしょうか?
例えばホームページを作っても接続できない
地区またはブロックされることもあります。
0645Name_Not_Found
垢版 |
2017/05/27(土) 15:58:33.71ID:???
jQueryの話をしていたときが一番勉強になったな
0646Name_Not_Found
垢版 |
2017/05/27(土) 15:59:46.77ID:???
このスレに活気(jQueryの話)を取り戻そう!
0648Name_Not_Found
垢版 |
2017/05/27(土) 16:25:20.31ID:???
>>647
その中のうちの一人だが同じ人ではない
0649Name_Not_Found
垢版 |
2017/05/27(土) 16:28:22.08ID:???
>>647
javascript歴一ヶ月初心者にもわかりやすく頼む
0650Name_Not_Found
垢版 |
2017/05/27(土) 16:32:10.69ID:???
>>649
自分と意見が合わないやつを見つける
自分が多数派、相手が少数派だと信じて疑わない
むしろ相手は一人じゃないかと思えてくる
その感情が行動として現れる
0652Name_Not_Found
垢版 |
2017/05/27(土) 16:40:44.68ID:???
>>647
ヤバイというより病気じゃないのか?
0653Name_Not_Found
垢版 |
2017/05/27(土) 16:42:15.29ID:???
webプログラミングってサーバーサイドが基本でしょ?
クライアントサイドでjQuery使うとか使わないとか、そんな事どうでもいいと思うんだが。
0654Name_Not_Found
垢版 |
2017/05/27(土) 16:42:16.48ID:???
同じ人ではないということなので、その議論は無意味
0655Name_Not_Found
垢版 |
2017/05/27(土) 16:43:48.19ID:???
>>653
どうでもいいレベルなら、ReactとかAngularとか
jQueryでは手に負えない規模のやり方なんて生まれないってw
0657Name_Not_Found
垢版 |
2017/05/27(土) 17:14:45.45ID:???
>>そんなに不安ならGoogleのCDNでも使ってりゃいいだろ
>>612

こんなのが社員にいたら地獄だな。
0659Name_Not_Found
垢版 |
2017/05/27(土) 17:39:13.17ID:???
基地外はスルーとして間違いは見逃せないのがネラーだからな
俺も参戦するぜw

>>ちなみにCDNは接続できない地区またはブロックされることもあります。日本でも繋がりにくいときもありますので業務用としてはお薦めできません。

>>612
>>そんなに不安ならGoogleのCDNでも使ってりゃいいだろ

GoogleのCDNで対処できるんですか?良かったら記述方法など教えてください。
0661Name_Not_Found
垢版 |
2017/05/27(土) 21:32:13.74ID:???
やたらスレ伸びてるじゃないか
たいした詳しくもないのに書き込むから墓穴掘ったというところか
>>606
>>612
0662Name_Not_Found
垢版 |
2017/05/27(土) 22:00:00.12ID:???
>>661
墓穴ってどういうこと?
Googleは中国がブロックしているから
GoogleMapは使うなって話?
いまいち何が言いたいのかわからない。
0663Name_Not_Found
垢版 |
2017/05/27(土) 22:00:21.88ID:???
いいからjQueryの話に戻すぞ(笑)
0664Name_Not_Found
垢版 |
2017/05/27(土) 22:16:52.58ID:???
Googleマップは使うな。あれも中国からブロックされるん?
何を使えば良いんだろう。
0665Name_Not_Found
垢版 |
2017/05/27(土) 22:37:27.64ID:???
っていうか、日本語のサイトで中国なんて最初からどうでもいいから
CDN便利よ? Googleのを使ってる。中国はうざいからブロックするかなw
0666Name_Not_Found
垢版 |
2017/05/27(土) 23:06:47.95ID:???
同業者から旅行業者や宿泊業者で取り入れて失敗したと言う話は聞いたことがある
うちは親会社からJavaScriptの書く仕事ばかりだから直接影響はなかったけど、ある程度人気のネット通販やってるところは気を付けないとダメだろうな。

>>662
知ったかぶりして恥かいたということだろ
0667Name_Not_Found
垢版 |
2017/05/27(土) 23:11:50.82ID:???
CDNの話をしているところに、いきなりGoogleは中国でブロックされてるんだぞーって
意味不明なこと言い出したやつがいるようにしか見えんけど?
0668Name_Not_Found
垢版 |
2017/05/27(土) 23:12:42.25ID:???
>>659
知ったかぶりするような人だから逃亡したかもしれないね
0671Name_Not_Found
垢版 |
2017/05/27(土) 23:53:32.99ID:???
>>668
さっきからずっとレスしてるけど、
そんなにCDNを否定したいの?
0672Name_Not_Found
垢版 |
2017/05/28(日) 02:43:59.84ID:???
659だけど回答まだですか〜?

>>ちなみにCDNは接続できない地区またはブロックされることもあります。日本でも繋がりにくいときもありますので業務用としてはお薦めできません。

>>612
>>そんなに不安ならGoogleのCDNでも使ってりゃいいだろ

GoogleのCDNで対処できるんですか?良かったら記述方法など教えてください。
0673Name_Not_Found
垢版 |
2017/05/28(日) 03:03:31.38ID:???
GoogleじゃないCDNで対処できるんじゃね?
さっきからずっと言ってるけど?
0675Name_Not_Found
垢版 |
2017/05/28(日) 03:30:26.60ID:???
こういうことらしいとか言って、自分の書いたレスを見せて何がしたいんだろう?
0676Name_Not_Found
垢版 |
2017/05/28(日) 03:39:57.87ID:???
俺も不安だからGoogleのCDN使おうかなw
0677Name_Not_Found
垢版 |
2017/05/28(日) 03:47:27.41ID:???
ブロックの話は所詮中国の問題であって気にする必要はない。
それがだめなら会社の場所表示にGoogleマップも使えないということになる。

安定性ならGoogle CDNが一番安全だろう。次点でMicrosoftか?
いずれにしろ自社サイトで配信よりは信頼性高いだろう。
それでも心配っていうのなら、フォールバック処理を入れればいい
(CDNからの読み込みが失敗したら、自サーバーから配信する)

で話を戻すとjQueryなどの有名なライブラリはCDNで配布されてるから
これを使うことで自サーバーの負荷が減るというメリットも有る。

開発を効率化する鉄則は、自分で書くコードを極力減らすこと。
有名ライブラリなら広く多くテストされているから信頼性も高い
僅かな実行速度の低下と引き換えに、高速配信と信頼性を得ることができる
0678Name_Not_Found
垢版 |
2017/05/28(日) 03:55:24.86ID:???
やっと少しはまともな話になってきたか
0681Name_Not_Found
垢版 |
2017/05/28(日) 04:17:39.06ID:???
クリックされた要素と、その次の要素をセレクタにしたいと考えています。
thisと次の要素となると思うのですが、どのように指定すればいいのでしょうか?
0683Name_Not_Found
垢版 |
2017/05/28(日) 05:30:45.91ID:???
>>659
もう許してやれよ。
何だか気の毒になってきた・・
知らなかっただけのことでしょ
0685Name_Not_Found
垢版 |
2017/05/28(日) 05:54:00.97ID:???
GoogleのCDNで対処できるんですか?良かったら記述方法など教えてください。

673 自分:Name_Not_Found[sage] 投稿日:2017/05/28(日) 03:03:31.38 ID:???
GoogleじゃないCDNで対処できるんじゃね?
さっきからずっと言ってるけど?
0686Name_Not_Found
垢版 |
2017/05/28(日) 10:21:38.13ID:???
朝から気違いエスパーわいてるのかよ
0688Name_Not_Found
垢版 |
2017/05/28(日) 13:08:23.19ID:???
みんなどこのCDN使ってる?

>>641より

jQuery公式(StackPathってのを使ってるようだ)
https://code.jquery.com/

今話題の(笑)Google
https://developers.google.com/speed/libraries/#jquery

Microsoftからも配信。※jQueryはASP.NETに組み込まれています
https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview#jQuery_Releases_on_the_CDN_0

CDNJS マイナーなものなど多くのライブラリが登録されてる。実際の配信はCloudflareかな?
https://cdnjs.com/libraries/jquery/

JSDELIVR こちらも同じく多くのライブラリが配信されてる
http://www.jsdelivr.com/projects/jquery
0689Name_Not_Found
垢版 |
2017/05/28(日) 14:11:21.03ID:???
CDNはブログでお世話になっています。
0690Name_Not_Found
垢版 |
2017/05/28(日) 14:13:54.11ID:???
いや、そうでなくてどこのを使ってるのか?って
聞いたんだよw
0691Name_Not_Found
垢版 |
2017/05/28(日) 14:30:41.28ID:???
俺はほとんどjQuery使わないから出番無いわな
MSなら何度か使ったことある程度
0692Name_Not_Found
垢版 |
2017/05/28(日) 14:34:09.29ID:???
jQuery使わないとしてもReactとかAngularとかVueとかの
Bootstrapとかフレームワーク使うでしょ?
0693Name_Not_Found
垢版 |
2017/05/28(日) 14:36:49.61ID:???
>>691
MS速いですか?
Google以外使ったことないけど昼間遅いときあるから速いなら変更したい
0694Name_Not_Found
垢版 |
2017/05/28(日) 14:52:09.63ID:???
>>693
それほんと?

こんなデータもあるんだけど

http://gigazine.net/news/20160419-google-cdn-beta-fastest/
> 以下のグラフは全世界平均の数値が表示されています。時間帯によって
> 各CDNのパフォーマンスが変化していますが、Google Cloud CDNは
> どの時間帯でもページ表示にかかる時間は最速。
0695Name_Not_Found
垢版 |
2017/05/28(日) 14:56:44.10ID:???
MSのCDNってakamaiを使ってるんじゃないかなーって思った。
他のプロジェクトで使ってるし、使わない理由なさそうだし。
だとしたら世界最高レベルのCDNだね
0696Name_Not_Found
垢版 |
2017/05/28(日) 15:04:08.58ID:???
>>693
MS使ってたときは速度の不満なかったですよ
0697Name_Not_Found
垢版 |
2017/05/28(日) 15:08:41.46ID:???
jQueryとかよく使うライブラリはブラウザに内蔵してくれても良い気がしてきた
0698Name_Not_Found
垢版 |
2017/05/28(日) 15:13:57.65ID:???
>>693
GoogleのCDNは中国では繋がらないので商用サイトでは論外です。
>>612>>613
0700Name_Not_Found
垢版 |
2017/05/28(日) 15:46:04.28ID:???
自覚してない系糖質だな
0701Name_Not_Found
垢版 |
2017/05/28(日) 16:15:17.37ID:???
>>698
検索だけでなくCDNも繋がらないの??
0703Name_Not_Found
垢版 |
2017/05/28(日) 17:08:12.10ID:???
javascriptで文字列データから指定の番号が含まれたデータを検索する記述方法で困っています。
16桁の「1000000000000000」〜「1000000020000000」件分の文字列データから「1000000010000000」を探す場合のjavascriptの記述方法。
1分間に何回ぐらい実行できるか教えてもらえると助かります。
0704Name_Not_Found
垢版 |
2017/05/28(日) 17:17:32.51ID:???
>>703
めんどくせーから問題を単純化しろ

> 1分間に何回ぐらい実行できるか教えてもらえると助かります。
パソコン次第。世界最速の地球コンピュータから100000000000000000000000000000000000000000000000階ぐらいだろ
0705Name_Not_Found
垢版 |
2017/05/28(日) 17:24:52.34ID:???
>>701
ブロックされてるから中国からの閲覧者を拾うならGoogleのCDNは避けるべき
0706Name_Not_Found
垢版 |
2017/05/28(日) 17:26:16.93ID:???
>>705
その場合どこのCDNがおすすめですか?
0707Name_Not_Found
垢版 |
2017/05/28(日) 17:36:57.93ID:???
>>706
運用サイトによって使い分けするのが良いかもしれませんね。

>>703
4〜5行で書けそうな簡単な内容だから協力してあげるよ。
何のブラウザで試せば良いの?
0708Name_Not_Found
垢版 |
2017/05/28(日) 18:00:29.93ID:???
>>703
どぞ。
var data=[],no16=1000000000000000;
for(var i=0;i<20000000;i++) data[i] = (no16 + i) + "";
var hits="",index = data.indexOf("1000000010000000");
if(index != -1) hits = data[index];


10000回ほどループさせた結果
1検索あたりの平均0.09698秒でした。win10、FF、i7 7700k


実行時間には変数格納処理部分は含めていません。
> var data=[],no16=1000000000000000;
for(var i=0;i<20000000;i++) data[i] = (no16 + i) + "";
0709Name_Not_Found
垢版 |
2017/05/28(日) 19:06:31.70ID:???
>>708
横から失礼
testとindexOfどちらが速いですかね
0712703
垢版 |
2017/05/28(日) 22:48:45.26ID:???
ブラウザは火狐です。
自分で書いたスクリプトでは停止するので困っていました・・
ありがとうございました。
0714Name_Not_Found
垢版 |
2017/05/29(月) 07:45:49.37ID:???
reactでiosとかのtableViewみたいな感じで
スクロールして必要なタイミングでレンダリングするようなtableCellを作りたいんですが、そういうことができるコンポーネントを作る方法か
もしくはライブラリを紹介していただけないでしょうか?

今は単純に全部レンダリングしてるんで毎回数秒待たされることになって気持ち悪いことに。(500cellくらい作っているので)
0716Name_Not_Found
垢版 |
2017/05/29(月) 11:30:10.21ID:???
>>714
ネイティブJavaScriptで記述するなら軽く速く動作するものができますが、手っ取り早く実現させるなら遅延読み込みのライブラリなりそのプラグインを組み込んで実現するのもありです。

スクロール
スクロール量の取得
設定された読み込み閾値を確認
tablecellの遅延生成

以上、スクロールする度に繰り返す

デメリットは検索結果に影響を受けることです。
0717Name_Not_Found
垢版 |
2017/05/29(月) 11:46:48.33ID:t0yS73FQ
a = [13, 64, 76]
b = ["as", "ft", "jay"]

これから

result = [{number: 13, name: "as"}, {number: 64, name: "ft"}, {number: 76, name: "jay"}]

を関数型プログラミングらしく生成する方法を教えて下さい
0718Name_Not_Found
垢版 |
2017/05/29(月) 12:18:01.48ID:???
>>714画像の遅延読み込みのライブラリならみかけるけど改造しないと使えないかも

自分も>>716の方法が良いと思います。もし困難であれば帰宅後に作りましょうか?
0719Name_Not_Found
垢版 |
2017/05/29(月) 12:51:00.50ID:???
>>717
わざわざ関数型にする必要もないと思うが、まぁ参考までに

// mapでインデックス指定(bがaより短い場合エラーになる)
var a = [13, 64, 76] ;
var b = ["as", "ft", "jay"] ;
var f = (y) => (x,i) => new Object({ number : x, name : y[i] });
var result = a.map(f(b));


// zipWithを自作(短い方に合わせて合成)
var a = [13, 64, 76] ;
var b = ["as", "ft", "jay"] ;
var f = (a,b) => new Object({ number : a, name : b });

var result = zipWith(f, a, b);

function zipWith(f, as, bs) {
var length = Math.min(as.length, bs.length);
var zs = [];
for (var i = 0; i < length; i++) {
zs[i] = f(as[i], bs[i]);
}
return zs;
}
0720Name_Not_Found
垢版 |
2017/05/29(月) 13:22:56.50ID:???
>>713
わからなかっただけじゃね
まあこのスレには相応しくない荒らし行為というのは間違いない
0721Name_Not_Found
垢版 |
2017/05/29(月) 13:43:58.47ID:???
>>716
画像の遅延読み込みはページ読み込みがスムーズになり便利だけどGoogleは画像を読み込んでくれなくことが多くなりますね。
勿論回避策はあるけど今度は付近の説明テキストと関連性が薄れる。
このデメリットは必ず理解しておく必要がありますね。
0722Name_Not_Found
垢版 |
2017/05/29(月) 14:17:18.04ID:???
>>716
>>718
>>721
ありがとうございます。
遅延ロードをヒントにライブラリを漁ったところ
react-lazy-render というのを見つけ、みなさんが提案している方法で実装しているみたいです。
でもメンテされてなくて最新の環境では動かないようなので参考程度にして自作することにします。
ありがとうございました。
0723Name_Not_Found
垢版 |
2017/05/29(月) 14:35:17.89ID:xUKxfmSO
>>719
ありがとうございます!
ラムダ式を繋げるんですね
0725Name_Not_Found
垢版 |
2017/05/29(月) 16:59:49.72ID:???
>>722
気が向いたらお披露目してくれよ!取りあえず頑張れ〜
0726Name_Not_Found
垢版 |
2017/05/29(月) 17:16:14.91ID:???
>>723
自分で書いといてなんだけどぶっちゃけ上みたいなコード書いちゃダメだからね
無理やりmapで望む結果を出しはしたけど、正直全然関数型っぽくないから

使うなら下のzipWithがいいよ
関数を糊として使うちゃんとした関数型プログラミングだから

そしてnew Objectはいらんかったわ、ごめん
0728Name_Not_Found
垢版 |
2017/05/29(月) 21:52:23.94ID:???
>>723
関数型プログラミングらしくするなら、
関数型プログラミングしやすくするlodashとかを使ったほうが良いよ。

lodash使いたくなければ、それと同等のコードを書けばいいだけ。
重要なのはインターフェース。関数型プログラミング用に作られた
lodashを参考にして真似るのが良い。

>>719のzipWithもあるから自力実装する必要はない。

前置きはここまでにして、lodashを使って書くとこうなる。

a = [13, 64, 76]
b = ["as", "ft", "jay"]

result = _.zipWith(a, b, function(a, b) {
 return {number: a, name: b};
});

もう少し今風に書くならば

result = _.zipWith(a, b, (a, b) => ({number: a, name: b}));
0729Name_Not_Found
垢版 |
2017/05/30(火) 00:30:04.25ID:???
名前・年齢を持っているなら、Person クラスだろ。
DBのレコードだから、典型的なオブジェクト指向

関数型にする必要がない

Rails を参考にすればいい
0730Name_Not_Found
垢版 |
2017/05/30(火) 13:21:02.43ID:???
>>717
関数型とか使わずに普通に手作業でやりたく無い理由は何よ?
0731Name_Not_Found
垢版 |
2017/05/30(火) 16:34:39.84ID:???
>>725
すんませんreactの遅延ロードの件ですが
今もメンテナンスしてるreact-lazyloadってやつありました。
自作するまでもなくタグとして挟むだけで何も考えずに使えました。
0732Name_Not_Found
垢版 |
2017/05/30(火) 22:22:43.81ID:???
>>730
関数型を使うとconstだけで作れる
変数というものはなくなり、必ず名前を中身が一致する。

例えばtotal という変数に 1〜100までの値を
forでループして足しこんでいくと、最終的にtotalという変数は
合計値になるかもしれないけど、処理の途中はtotalではない。

つまり変数の名前と中身が一致していない。
一致していないということは、いつ一致するのか?を
ロジックを読み解いて処理内容を把握しないといけない。
コンピュータの気持ちになって動きをトレースしなくてはいけない

関数型では処理ではなくて定義の形で表せる。
const a = b と書いてあればその定義が変わることはない。
なのでロジックを読み解く必要がなくなり可読性が高くなる。
0733Name_Not_Found
垢版 |
2017/05/31(水) 06:57:42.77ID:???
>>732
そこは別に関数型でなくともconst使えばいいだけじゃね。
宣言的記述ができなきゃ結局のところ命令的な記述全部頼らなきゃならんし。
0734Name_Not_Found
垢版 |
2017/05/31(水) 12:39:03.48ID:???
関数型を使うのは、最後のフィルターの部分だろ

C#のLinq, Java8のStream とか、DBからレコードを選択する部分を、関数型で書ける

SQLの、where 何々、ソート順
0735Name_Not_Found
垢版 |
2017/05/31(水) 13:06:59.51ID:???
関数型の特性の一つとして「全ては値」てのがあると思う。
jsだとオブジェクトの参照状態を防ぐために
いちいちObject.assign({},変更前,変更後}
みたいな書き方しなきゃいけないけど、
imuttable.jsを使うと全部値型として扱えるから参照状態を気にせず使える。
0737Name_Not_Found
垢版 |
2017/05/31(水) 23:06:43.95ID:???
>>733
> 宣言的記述ができなきゃ結局のところ命令的な記述全部頼らなきゃならんし。

もともとJavaScriptは関数型ではないからパフォーマンスが落ちることになるけど、
それに目をつぶれば宣言的記述ができないことはないんだよ。
どんなものでも宣言的記述はできる。
そうすると必然的に関数型になって、constだけで十分になる。
パフォーマンスの低下に目をつぶれば、信頼性が高く短いコードで書ける宣言型が優れている
0738Name_Not_Found
垢版 |
2017/06/01(木) 09:21:10.94ID:m5KLUPPS
angular.jsで教えてください。
{{1+1}}は動いてます

〜〜〜〜〜 HTML
<ons-input id="instance" ng-model="myDomain" modifier="underbar" placeholder="domain name" float></ons-input>
<input type="text" class="text-input" value="{{domain}}"></input>
<ons-button ng-click="onTest()">Test</ons-button>

〜〜〜〜〜 javascript
<!DOCTYPE html>
var app = angular.module('test-app', ['onsen']);
app.controller( 'domainController', [ '$socpe', function( $scope ) {
$scope.onTest =function(){
$scope.domain =$scopoe.myDomain;
};
}]);

buttonクリックイベントでng-modelのmyDomainからscopeのdomainに値を入れて、そのdoaminを下のテキストボックスのvalueにbindさせたい意図なんですが動きません。
しかし、下テキストボックスのvalueを{{myDomain}}とすると正しく動きます。
$scope.domainに代入しているのだから{{domain}}でも動くと思うのですが何がいけないのでしょうか?
0740Name_Not_Found
垢版 |
2017/06/01(木) 12:42:13.77ID:???
>>737
まじで?

fib n
| n == 0 = 0
| n == 1 = 1
| otherwise = fib(n-1) + fib(n-2)

上記コードをjsでどうかけるの?
0742Name_Not_Found
垢版 |
2017/06/01(木) 13:02:36.94ID:m5KLUPPS
738です。
>>739
すみません。
転記ミスで
$scope.domain =$scope.myDomain;
と正しく書いています。
0743Name_Not_Found
垢版 |
2017/06/01(木) 22:05:33.69ID:???
>>740
一番素直に置き換えるとしたらこうだろ?

function fib(n) {
 return n == 0 ? 0 :
    n == 1 ? 1 :
    fib(n-1) + fib(n-2);
}

アロー関数使うならreturn省略できるから
もっと元のコードに近くなる

const fib = n => (
 n == 0 ? 0 :
 n == 1 ? 1 :
 fib(n-1) + fib(n-2)
)
0744Name_Not_Found
垢版 |
2017/06/02(金) 10:13:15.41ID:???
>>743
まんまでしたわ。
これが宣言的にかけるってことなの?
0745Name_Not_Found
垢版 |
2017/06/02(金) 11:29:24.00ID:???
>>744
まぁフィボナッチ数をこのコードで求めようとしてもスペックによってはnが100程度でタイムアウトするけどね
0747Name_Not_Found
垢版 |
2017/06/02(金) 12:48:19.03ID:???
関数内でその場でfib(numberの配列)を作って
iでループしてfib[i]にi番目のフィボナッチ数が入るようにし最終的にfib[n]を返せば
変数の意味的な矛盾はないままにスタックを消費しない
0748Name_Not_Found
垢版 |
2017/06/02(金) 14:02:58.63ID:???
末尾再帰の形で書けば、ループ文に変換するから、スタックを消費しない。
誰かが、そういうライブラリを作っているかも?

>>738
$scope.domain =$scopoe.myDomain;

ここに、Break Point を置いて、デバッグして中身を見れば?

それと、名前欄に、738 と番号を入れてくれ
0749749
垢版 |
2017/06/02(金) 21:58:32.51ID:aiI/LbLU
jsの勉強をしているのですが、どうもうまくいかない処理があっておたずねいたします。
ソリティアのゲームをjsで動かしているサンプル(ttp://www.dhtmlgoodies.com/scripts/game_solitaire/game_solitaire.html)を参考に編集しておりましたところ、
ゲーム終了時の処理がうまくいきません。
サンプルゲームでもゲーム終了の処理がされないのでサンプル自体に問題があるのはわかるのですが…

----以下コード(一部抜粋)----

var gameFinished = true;
for(var no=0;no<acesStackArray.length;no++){
var tmpDivs = acesStackArray[no].getElementsByTagName('DIV');
if(tmpDivs.length<13)return;
}
alert("クリアメッセージ");
}
0750749
垢版 |
2017/06/02(金) 22:00:53.06ID:aiI/LbLU
〜〜略〜〜

var gameFinished = true;
for(var no=0;no<acesStackArray.length;no++){
var tmpLeft = getleftPos(acesStackArray[no]);
var tmpTop = getTopPos(acesStackArray[no]);
var tmpDivs = acesStackArray[no].getElementsByTagName('DIV');

if(leftPos>=tmpLeft-70 && leftPos<=tmpLeft+70 && topPos>=tmpTop-100 && topPos<=tmpTop+100){
var topDivTarget = getTopDiv(cardMoveTarget);
if(topDivTarget!=acesStackArray[no]){
var cardTypeThis = divs[0].id.substr(0,1);
var numericIDThis = divs[0].id.replace(/[^\d]/g,'');
if(tmpDivs.length==0){
if(numericIDThis==1){
divs[0].style.left = '0px'
divs[0].style.top = '0px'
acesStackArray[no].appendChild(divs[0]);
return;
}
0751749
垢版 |
2017/06/02(金) 22:01:18.48ID:aiI/LbLU
}else{
var destDiv = tmpDivs[tmpDivs.length-1];
var cardTypeDest = destDiv.id.substr(0,1);
var numericIDDest = destDiv.id.replace(/[^\d]/g,'');
if(cardTypeDest==cardTypeThis && numericIDDest==(numericIDThis-1)){
divs[0].style.left = '0px';
divs[0].style.top = '0px';
destDiv.appendChild(divs[0]);
return;
}
}
}
}

if(tmpDivs.length<13)gameFinished=false;

}

if(gameFinished){
alert("クリアメッセージ");
}

----コードここまで----

tmpDivsがきちんと処理されていないのかと思い数字を弄ってみたところ問題はなかったようで、
ゲーム終了そのものの処理の位置が悪いのでしょうか。
よろしければ修正案をご教授ください。
0752Name_Not_Found
垢版 |
2017/06/02(金) 23:04:17.34ID:???
>>751
jQuery + 必要ならLodashを使うのが良いよ
0753Name_Not_Found
垢版 |
2017/06/02(金) 23:32:32.41ID:???
>>749
finishCardを呼び出してる所がondblclickのみになってる
これではダブルクリックでカードを右上に送ったときのみにしか判定されない
0754749
垢版 |
2017/06/02(金) 23:57:13.35ID:aiI/LbLU
>>753
finishCardを参照するマウスイベントを追加することで解決いたしました!
助言ありがとうございます!
0755Name_Not_Found
垢版 |
2017/06/09(金) 21:54:46.04ID:???
historyのpushStateでURL(A)を登録し、
replaceStateで遷移先のURL(B)に書き換えた場合、
戻るボタン押下でURL(A)になりますが、ページ自体が切り替わってくれません。
どうしたら切り替わりますか?
0756Name_Not_Found
垢版 |
2017/06/10(土) 02:16:17.62ID:???
自分で切り替わりを実装する
0761Name_Not_Found
垢版 |
2017/06/10(土) 20:32:10.17ID:???
>>757
そんなことを細かく説明できるような人はここにはいません。
0762Name_Not_Found
垢版 |
2017/06/12(月) 21:45:34.17ID:???
>>759
勉強がてらちょっと調べてみたけど、どれ使ってもルーティングは自分で実装しないといけないらしい
history.pushState(null,null,location.href);
history.replaceState(null,null,新しいURL);
は定番で
addEventhandler('popstate',function(e) {
e.preventDefault();
if(戻るボタン) {
history.back();
}else{
history.forward();
}})

戻るボタンか進むボタンの判定はよくわからなかったわ
0763Name_Not_Found
垢版 |
2017/06/12(月) 22:33:53.88ID:???
>>762
ルーティングって何を指してる?

普通に考えればSPAのフレームワークであれば、
URLのパスに対応するメソッドを定義するだけで、
History APIを使う必要はなくなるはずだけど
0764Name_Not_Found
垢版 |
2017/06/12(月) 23:50:34.67ID:???
>>763
SPAのルーティングってMPAでいう画面遷移のイメージ
コンテンツ部分のみを切り替えるSPAはコンテンツ部分を切り替えてもURLは同じなので、
そこをうまいこと変えてくれるんじゃない?
0765Name_Not_Found
垢版 |
2017/06/13(火) 01:06:46.22ID:???
アドバイス欲しいです。

javascriptを使ってウェブサイトのページに簡易検索機能を組み込む作業を行っています。

・データはサーバーサイドで加工してから保存。
・ブラウザのjavascriptで検索。
・検索対象のデータはAjax通信で取得されます。
・var ajaxfile=[]; この変数に数万数十万件のデータが格納されます。
・指定のキーワード1つのみで検索。
・データが大量にあるためできるだけ素早く検索する必要があります。
・一致するデータの変数番号を全て保存します。



記述例など教え頂けると助かります。Ajaxの記述は完成しているので不要です。
0766Name_Not_Found
垢版 |
2017/06/13(火) 01:17:11.57ID:???
検索結果をAjaxで受け取れ
0767Name_Not_Found
垢版 |
2017/06/13(火) 02:08:02.99ID:???
検索ワードは複数必要ないのかい?
0768Name_Not_Found
垢版 |
2017/06/13(火) 02:28:25.35ID:???
数万数十万って格納するだけでめっちゃ時間かかるし
その時点で「できるだけ素早く」の要件満たさないんちゃうか
汎用的な検索ならArray.find()やろうけどこれも遅いやろし
0769Name_Not_Found
垢版 |
2017/06/13(火) 02:31:26.32ID:???
×Array.find()
〇Array.filter()
0770Name_Not_Found
垢版 |
2017/06/13(火) 02:32:00.76ID:???
>>764
なんかずれてる気がするんだけど?

コンテンツの一部分だけを変えるのはAjax
コンテンツの一部だけを変えるから、動きが快適になる
だけどAjaxだとコンテンツを変えてもURLは変わらないから
F5で更新したりしたら状態が戻ってしまう。

それじゃ使い勝手が悪いので、コンテンツの一部だけを変えつつも
URLとページの内容を正しく結びつけるために
History APIを使うってのがSPAなんだけど?

端的にいうとSPAはコンテンツが変わるとURLも変わるもの
0771Name_Not_Found
垢版 |
2017/06/13(火) 03:05:48.58ID:???
>>765
これで試して負荷がかかるようら別な方法を書き直すよ
そのときは遠慮なく言ってくれ


var ajaxfile=[];
var Keyword="検索キーワード";

var cnt=0,gaitou=[];
var ken = ajaxfile.length;
for(i=0;i<ken;i=i+1){
if(ajaxfile[i].indexOf(Keyword) != -1){
gaitou[cnt] = i; // 該当番号の記録
cnt = cnt + 1;
}
}
0772Name_Not_Found
垢版 |
2017/06/13(火) 10:57:57.80ID:???
>>770
そのhistoryAPIを使うまでがspaのルーティングだと思ってたわ
実際angular routerだとそこまでやってくれるしね
0774Name_Not_Found
垢版 |
2017/06/13(火) 21:32:12.21ID:???
>>772
そうだよ。フレームワークがHistory APIを使う。
一般開発者は気にしなくていい。

単にURLとどのアクションが対応するかを
定義するだけ。それがルーティングの設定
0775Name_Not_Found
垢版 |
2017/06/15(木) 17:39:35.65ID:???
カンマで区切られたデータを連結するときにできるだけ速い実行方法が知りたいです。

var marmp=["嘉","羹","鶏"];

var renketsu=marmp[0]+marmp[1]+marmp[2];

var marmp.toString();

var imax=marmp.lengths;
for(i=0;i<imax;i++) renketsu += marmp[i];


marmp変数に格納された文字列データが大量にあると仮定
その場合連結するときにどのような書き方をすれば高速な処理ができますか?

例の3つは遅いとされているので別な方法がありましたら教えて欲しいです。
0776Name_Not_Found
垢版 |
2017/06/15(木) 17:53:24.61ID:???
連結はライブラリ通した特殊な書き方をしない限りネイティブ記述では実行速度に影響はありませんよ。例え100Mバイトのデータでも既に格納されている変数なら実行速度は計測不能の0ミリ秒だよ。

var renketsu = marmp.join(',');
この記述方法が無難ですわ
0777Name_Not_Found
垢版 |
2017/06/15(木) 23:08:01.87ID:???
>>775
https://jsperf.com/string-concatenation/47
Chromeでやった結果

var foo = str1;
foo += str2 + str3 + str4;

が一番早く

var foo = arr.join(''); が一番遅かった。


Firefoxでは
var foo = str1;
foo += str2;
foo += str3;
foo += str4;

Edgeでは、
var foo = str1;
foo += str2 + str3 + str4;
0778Name_Not_Found
垢版 |
2017/06/15(木) 23:13:35.41ID:???
何が言いたいかわかるかい?
できるだけ速い方法を知るためには、
ブラウザとそのバージョンを限定しないとダメということ

質問する側であれば、あるブラウザのこのバージョンで速い方法は
なんですか?って聞かないとダメ。
違うブラウザ、違うバージョンでは当てはまらない。
そういう無意味な質問を、あんたはしているってことだよ。


JavaScriptではユーザーの環境によって速いコードは変わってくるのだから
そういうのにこだわるのは時間の無駄。
速度なんて問題が起きてから対処すれば良いものと心得よ。

実行速度よりも開発速度のほうが重要
1時間分の給料を使って、0.01ミリ秒改善しました?それで誰が喜ぶと思う?
だからこそ>>776は、遅いjoinを使った方法が無難だとかいているわけ。

で重要な開発速度をメインにすえると、ライブラリを使って開発速度を
改善できるならば、使ったほうが良いという答えになるわけ。
ライブラリを使うとその分のオーバーヘッドが必ず入って確実に(僅かに)遅くなるが
それよりも開発速度が重要だからライブラリがあるわけだよ。
0779Name_Not_Found
垢版 |
2017/06/15(木) 23:21:45.61ID:???
joinの方が宣言的かつ非破壊的にスッキリ書けて好き
0780Name_Not_Found
垢版 |
2017/06/15(木) 23:24:03.37ID:???
>>779
それには同意。関数型(風)に書く方がメリットが多く、
今のトレンドだし、だからjQueryやlodashが人気
0781Name_Not_Found
垢版 |
2017/06/15(木) 23:39:49.91ID:???
>>778
大量に、と言ってるんだし、0.001msでも速くするシチュエーションってあるんじゃないの?
夜間バッチとか。
0782Name_Not_Found
垢版 |
2017/06/15(木) 23:42:59.52ID:???
>>781
10時間かかる処理が1分早くなって
何の意味もないでしょw
0783Name_Not_Found
垢版 |
2017/06/16(金) 01:19:01.23ID:???
>>776
ライブラリ通すと遅くなり話になりませんでした。
jointも試したのですが、他にも良いものがあればと思い書き込みしました。

>>777
試してもらったのにすみません。
>>var foo = str1;
foo += str2 + str3 + str4;
一斉連結できないと意味がないので使えないです。

>>778
説明ありがとうございます。
求めているのは実行速度が正解で開発速度ではありません。
扱うのはどのブラウザでも問題ないです。

>>781
まさにこれです。
14台のパソコンで非同期分散処理を行っていて連結の部分で苦戦している状況です。
0784Name_Not_Found
垢版 |
2017/06/16(金) 01:24:50.14ID:???
> ライブラリ通すと遅くなり話になりませんでした。
だからそりゃそうだろ。
ライブラリは開発速度を上げるものだって
いってるだろ
0785Name_Not_Found
垢版 |
2017/06/16(金) 01:27:46.25ID:???
>>783
> 14台のパソコンで非同期分散処理を行っていて連結の部分で苦戦している状況です。

苦戦? ボトルネックになっているかどうかを調べてないってことか。
話しにならんな。文字列連結のやり方を変えた所で
0.0001%も差は生まれない。

だいたいJavaScriptの話だったよな?
どのブラウザでも問題ない?
14台のパソコンのブラウザで非同期分散処理?

どうやら墓穴ほったようだな。
お前の目的なんて手に取るようにわかる
0786Name_Not_Found
垢版 |
2017/06/16(金) 01:39:06.29ID:???
>>783
+=
これは速度優先のときは絶対に使ってはいけない地雷記述です。
0787Name_Not_Found
垢版 |
2017/06/16(金) 01:49:13.92ID:???
+=はjoinとかより早いぞ jsperfで調べてみろ
0788Name_Not_Found
垢版 |
2017/06/16(金) 01:51:01.26ID:???
forでまわすなら+が最速
+=は単品でならあり
0789Name_Not_Found
垢版 |
2017/06/16(金) 01:55:41.19ID:???
同じ変数に格納されているなら>>776のfor使わないやり方で良いんじゃないのか?
実行速度計ったことないから何とも言えないけどforで一つずつブンブンまわすより速い気がする。
0790Name_Not_Found
垢版 |
2017/06/16(金) 06:51:04.03ID:???
>>788
b=b+a[i]; //for内での最速連結

Array.prototype.push.apply(a,b); //forの手前でキャッシュを作ると更に速くなる

b+=a[i]; // 遅い
]
0791Name_Not_Found
垢版 |
2017/06/16(金) 07:43:34.20ID:???
大量のデータ処理が必要かつ速度優先ならそもそもJSでやるべきじゃなくね
0792Name_Not_Found
垢版 |
2017/06/16(金) 08:30:01.37ID:???
>>782
大量データってあるからね。
俺そういうのはGoで書いてたりする。
でもまぁ、JSを使わなければいけないという状況ならベストは尽くすかな。
14台の連結処理なら、14台の中で自分の分は自分でまとめられないの?
まとめた結果をつなげるのは14台で済むと思う。

あと、文字列オブジェクトをつなげるとつなげたタイミング新しい文字列のインスタンスができるから、もったいないかと。
でも一発では重すぎるなら、marmpのサイズを分割して、多段にjoinかけるほうが無難かなぁ。
let arrbufL=[];
let arrbuf=[];
marmp.forEach(e=>{arrbuf.push(e); if(arrbuf.length>10000){arrbufL.push(arrbuf.join(','));arrbuf=[];} })
let result=arrbufL.join(',');
0793Name_Not_Found
垢版 |
2017/06/16(金) 08:38:48.90ID:???
件数によったら、reduceの方が早いかな。
reduce(function(p, c){
return p+','+c;
}).substring(1);
0794Name_Not_Found
垢版 |
2017/06/16(金) 09:45:42.64ID:???
一般のPCのメモリに乗る程度、たとえば32GBだと
メモリの転送速度から考えると2〜5秒程度だからな。

大量のデータが何テラバイトあるのか?という
質問に答えてもらおうか?
0796Name_Not_Found
垢版 |
2017/06/16(金) 12:40:44.43ID:???
jestって気軽にtestがかけるのが便利なんだけど
ベンチマーク機能みたいなのが見当たらない。
jest使って気軽にベンチマーク取れるのってないかな
自作するしかないか?
0797Name_Not_Found
垢版 |
2017/06/16(金) 13:43:59.00ID:???
>>792
いちいち新しい文字列のインスタンス作るようなことは今はやってなくね?
真っ先に最適化の対象になってるだろう
0803Name_Not_Found
垢版 |
2017/06/16(金) 20:58:55.19ID:???
>>802
自明なのは中身が文字列ってことだけでしょう?

中身が文字列だから速いはずという
想像で、ものを言ってますよね?
0804Name_Not_Found
垢版 |
2017/06/16(金) 21:09:51.66ID:???
>>803
前段はそうだが、意味はちょっと違う。
中身が文字列以外が入っていない、要は、左辺が必ず文字列で、右辺もリテラル(を代入だけしたもの)だから。
キャストが起こらないし、単にコンカチして捨てても問題ないから最適化がかけられる。
だから、俺じゃないが誰かが言ってるように、forみたいなループで回す事には向いてない。
初回が文字列であること、途中が文字列であることが全部わかってりゃ最適化かけようもあるけど。
結局、+=するものに(''+hoge)みたいなまじないを書くはめになるぞ。
0805Name_Not_Found
垢版 |
2017/06/16(金) 21:13:06.60ID:???
>>804
いやいや、だから何なのさ? って話

それはあくまで想像上の話でしょ?
計測しなければ本当のことはわかりませんよね?
今の話の速度に関しては自明じゃないですよね?
(一言「はい」と言ってください)
0806Name_Not_Found
垢版 |
2017/06/16(金) 21:21:32.80ID:???
>>804
for使わないのを>>792-793が提示してるが、そもそも関数呼び出し自体重い処理だよね
関数を使わないことで最適化される事もあるし
いくら否定する論理を展開したところで机上の空論なんだよね
実測を否定するなら実測で否定しろ
0807Name_Not_Found
垢版 |
2017/06/16(金) 21:28:23.72ID:???
>>804
別に俺は速いと遅いとも言ってないんだよ。

単に自明である部分と
自明でない部分をはっきりさせましょうと
言ってるだけ。
0808Name_Not_Found
垢版 |
2017/06/16(金) 22:42:27.54ID:???
ここにも声闘の基地外わいてるのかよ
0809Name_Not_Found
垢版 |
2017/06/16(金) 23:06:51.56ID:???
"use strict";
function a() {}
Object.seal(a);
a.b = 1; // これはエラー
var c = a.b; // これをエラーにする方法はありますか?
0810Name_Not_Found
垢版 |
2017/06/16(金) 23:20:15.08ID:???
なぜそれをエラーにするのか?
その理由が知りたい
0811Name_Not_Found
垢版 |
2017/06/16(金) 23:51:38.05ID:???
タイピングミスによるバグの早期発見のためです
0812Name_Not_Found
垢版 |
2017/06/17(土) 00:32:32.50ID:???
え? var hoge と 書くところを var hage って書いても
動くでしょ? どんな根拠で間違いだってわかるのさ?
0813Name_Not_Found
垢版 |
2017/06/17(土) 01:00:07.87ID:???
>>812
"use strict"; var hage; hoge=1;
これは動きません
0814Name_Not_Found
垢版 |
2017/06/17(土) 03:27:17.00ID:???
>>813
そりゃそうだろうね。
定義されてない変数に代入できないというルールなんだから

で、何をエラーにしたいって?
エラーにしたいルールを言いなよ
0815Name_Not_Found
垢版 |
2017/06/17(土) 03:45:51.84ID:???
頭悪そうなやつと香ばしい奴
0816Name_Not_Found
垢版 |
2017/06/17(土) 08:37:14.24ID:???
>>805-807
いいえ。
単に計測しなければ、ではない。実装を理解してからね。
計測した?V8だとoptimizeされないよ、現に。
だから、もっと多いデータでやりなさい。出来れば、処理系が文字なのか数字なのか悩むデータ混ぜて。

関数呼び出しは重くないよ。中で変数を作らなきゃそれこそ早い。変数作るととたんに遅くなるけどね。
>>807
に関して言えば、自明でないのはお前が能力不足だからだよ。
0817Name_Not_Found
垢版 |
2017/06/17(土) 11:14:15.48ID:???
>>816
だから自明じゃないでしょって話をしてるんだが?
自明っていうのは俺だけは知ってるって意味じゃないんだよ?
他人も知らなければ自明じゃない。

それにどうやってEdgeの実装を理解するんだ?
お前MS内部の人間か?
0818Name_Not_Found
垢版 |
2017/06/17(土) 11:14:34.72ID:???
>>814
存在しないプロパティへのアクセスがエラーになるようにしたいです
0819Name_Not_Found
垢版 |
2017/06/17(土) 11:41:31.31ID:???
>>817
Edgeの話なんかしてないよ。
このスレではV8の最新版の
話をするってことは自明でしょ?
0820Name_Not_Found
垢版 |
2017/06/17(土) 13:35:32.56ID:???
>>809
Object.defineProperty で b プロパティを設定しておき、getterでthrow new Error
0821Name_Not_Found
垢版 |
2017/06/17(土) 13:49:50.33ID:???
>>820
a.c と a.d と a.e と ・・・ と a.zzzzzzzzz を
エラーにするにはどうすればいいですか?
0822Name_Not_Found
垢版 |
2017/06/17(土) 14:04:18.89ID:???
>>821
Proxyでトラップしてthrow new Error
未定義のプロパティ参照発覚の為だけに行う対策としてはコストが高いと思うけどね
0823Name_Not_Found
垢版 |
2017/06/17(土) 14:19:42.43ID:???
>>822
具体的にどういうコードを書くんですか?
0824Name_Not_Found
垢版 |
2017/06/17(土) 15:39:05.25ID:???
>>817
Edgeの実装ってChakraCore眺めたらだいたいわかんじゃん?
知らなさすぎるだろ。

ってかお前の言ってる検証って、アメリカ人に「こんにちは」って言ったら「コンニチハ」って返事してくれたから、この「アメリカ人は日本語がペラペラに違いない」と判断するような、
単なる(しかも失敗してる)計測だよ。
もう少し考えてやったり話したりしろよ。
0825Name_Not_Found
垢版 |
2017/06/17(土) 15:43:47.03ID:???
>>824
自明なんですよね?
ソースコード読まないとわからないなら
自明ではないですね
0826Name_Not_Found
垢版 |
2017/06/17(土) 15:47:21.16ID:???
>>825
え?どういう事?
それで自明でなければ、「インスタンスは別生成される」「いや最適化が効く」「+=では必ずしも効かない」って流れの
「最適化が効く」も、勘違いですらなく単なる思い込みだってこと?
0827Name_Not_Found
垢版 |
2017/06/17(土) 15:51:11.42ID:???
最初から話は変わっていません。
どういうコードであるかは関係なく、
速度というのは実行してみなければはっきりとしたことはわかりません

なぜならCPUのキャッシュや分岐予測や投機的実行などにより
単純に実行速度を予測するのが不可能だからです。

だからどんなコードでも実行速度は自明ではないのです。
0828Name_Not_Found
垢版 |
2017/06/17(土) 15:57:48.12ID:???
>>827
お前、上がってるテストを全否定してるぞ。

投機的実行やパイプラインのストールまで考えたらとても悩むだろうけど、それ以前に悩んでほしいのが
JITが効くか、最近のなら逆にJIT/AOT出来ないと判断されるかするかって話になって、
そりゃなぜかというとデータ形に保証がないからが一番デカいんじゃん。

あるコードだけの(厳密な意味での実行)時間は自明ではないかもしれないが、
あるコードとあるコードとの時間差は自明だよ。
希望的観測(≒思い込み)を許さず、明らかになっていない事を不定とするならなおさら。
だから見た目無意味に文字列と足したりするんじゃん。
0829Name_Not_Found
垢版 |
2017/06/17(土) 15:59:54.25ID:???
噛みつきたいのはわからんでもないが、知らない事があったなら一旦引き下がって勉強して来たほうがいいんじゃねえかな。
犬でも無いんだから。
0830Name_Not_Found
垢版 |
2017/06/17(土) 16:03:21.20ID:???
>>828
いや、だから自明とかいってないで、
実行結果で語りましょうという話。

すでに実行結果は出てる。
反論があるならば、反論のための実行結果を貼りましょう。
0831Name_Not_Found
垢版 |
2017/06/17(土) 16:04:16.68ID:???
>>828
> あるコードとあるコードとの時間差は自明だよ。

自明ではないから、ブラウザによって
同じJavaScriptのコードでも大きな時間差が
生まれているんですが?
0832Name_Not_Found
垢版 |
2017/06/17(土) 17:37:44.14ID:???
>>822
目的達成できました。ありがとうございます
コストは最初からデバッグ用なので特に問題無いです
0833Name_Not_Found
垢版 |
2017/06/17(土) 17:42:14.70ID:???
達成できたというのなら、
そのコードを書くべきでは?
嘘っぽい
0835Name_Not_Found
垢版 |
2017/06/17(土) 19:42:53.12ID:???
>>833
ほとんど答え書いてもらってるようなものですが
"use strict";
function a() {
this.b = 3;
return Object.seal( new Proxy( this, {
get (t,p) { if (p in t) return t[p]; else throw new Error(p+" deny"); }
}));
}
var c = a();
c.b; // OK
c.c; // これはエラー
c.d = 1; // これもエラー
0836Name_Not_Found
垢版 |
2017/06/18(日) 17:25:33.10ID:???
a()にnewつけ忘れました
そのままだとchromeでクラッシュするので気をつけてください
0837Name_Not_Found
垢版 |
2017/06/18(日) 18:23:44.58ID:???
流石にjQuery Mobileを使うくらいならBootstrapを使った方がよさげだよね最近だと
0838Name_Not_Found
垢版 |
2017/06/18(日) 20:13:42.86ID:???
みっともない奴もいるもんだな。
0839Name_Not_Found
垢版 |
2017/06/18(日) 21:40:07.29ID:???
>>837
そもそもjQuery MobileとBootstrapは目的が違ってる。

jQuery Mobileはウェブサイトをスマホのネイティブアプリのように
見せるJavaScriptのフレームワークとして作られた。
jQueryを内部で使っているだけで、jQueryとは根本的に違うもの

開発された当初は「ウェブサイトをスマホアプリっぽくしたい」という
要望がでるかと思われたがそうはならなかった。スマホアプリっぽく
するよりも(ウェブの技術を使って)スマホアプリを作ったほうが良いとなった。

ただしウェブサイトをスマホでもみることは普通に行われており、
スマホで見た時に見やすく最適化したいという要望はでた。
そこで作られたフレームワークがBootstrap

Bootstrapはダイアログなどの一部の機能にjQueryが使われているが
メインの機能はCSSをベースにしている。だからCSSフレームワークと呼ばれている。


俺はブログやニュース系のような文章メインのものをウェブサイト、
ゲームやGmailなどのJavaScriptが重要な意味を持っているものをウェブアプリ
と区別して呼んでたりするが、ウェブアプリが適しているものは数が少なく
大部分がウェブサイトだと思っている(そしてそれは事実だろう)

ウェブアプリが作りたいのならJavaScriptのフレームワークを使うのが良いだろうが
大部分のウェブサイトはJavaScriptフレームワークは不要でjQueryのようなライブラリで十分だと思っている。
JavaScriptのフレームワークを使うと、ウェブサイトの作り方がJavaScriptベースにガラッと変わってしまうからだ。
いい方向に変わるのではなくて面倒な方向に変わる。jQueryであれば知っての通りHTML+CSSの作り方は変わらない。
そしてスマホ対応したいのであれば、BootstrapのようなCSSフレームワークを使えば良い。
0840Name_Not_Found
垢版 |
2017/06/19(月) 00:48:53.33ID:???
>>839
そんなもん説明しなくてもわかるだろ
0841Name_Not_Found
垢版 |
2017/06/19(月) 01:29:34.45ID:???
>>840
わかることをあえて説明することで、
意図的に変な方向に話を持っていこうとする輩を牽制し、
俺が持っていきたい方向の誘導しているんだよ。
0842Name_Not_Found
垢版 |
2017/06/19(月) 12:56:59.91ID:???
>>841
つまり意図的に変な方向に持っていこうとする輩だと言うことか。
0843Name_Not_Found
垢版 |
2017/06/19(月) 22:45:43.09ID:???
この人、プログラム板でも暴れてる人じゃないかな
触らぬ神に何とやら
0844Name_Not_Found
垢版 |
2017/06/19(月) 23:36:53.29ID:???
>>843
今度から気づいたら今みたいに一言言うんじゃなくて
何も言わずにスルーしてくれると助かる
0845Name_Not_Found
垢版 |
2017/06/20(火) 02:54:02.56ID:???
プログラムとjQueryに貼り付いてる基地外だな
0846Name_Not_Found
垢版 |
2017/06/21(水) 16:49:07.70ID:???
IEはオフライン環境でローカルストレージの読み書き処理はできないですか?
0848Name_Not_Found
垢版 |
2017/06/22(木) 16:05:45.66ID:???
ローカルストレージもセッションストレージもIEデフォルト設定ではローカル環境で使用できないはず。
0849Name_Not_Found
垢版 |
2017/06/22(木) 18:31:20.21ID:???
>>846
Apacheサーバを立てれば出来ると思うよ
0850Name_Not_Found
垢版 |
2017/06/22(木) 19:43:15.97ID:???
new Blobで生成したオブジェクトブロブをnew Blob以外の方法で結合させるにはどうすれば良いですか
0851Name_Not_Found
垢版 |
2017/06/23(金) 00:12:34.91ID:w2ln+Ldj
new Blobでいいじゃん
他の方法があったとしても内部でnew Blob呼ばれてるだろうよ
0852Name_Not_Found
垢版 |
2017/06/23(金) 00:36:00.15ID:???
すみません説明悪かったです。

var b = new Blob(x[0],x[1],x[2], {type: "application/octet-binary"});


x[0],x[1],x[2]の部分を動的に増やす場合どのように記述すれば良いでしょうか?

xの数は1〜5000と変化します。
0854Name_Not_Found
垢版 |
2017/06/23(金) 01:36:23.36ID:???
>>853
なるほど
明日書き直して試してみますわ
テキストでないから苦労してます
0855Name_Not_Found
垢版 |
2017/06/23(金) 02:02:59.89ID:???
結果は中身が結合されず、テキストデータのみ↓となりました。

[object Blob], [object Blob], [object Blob], [object Blob],
0856Name_Not_Found
垢版 |
2017/06/24(土) 17:20:20.39ID:???
Uint8Array()やcharCodeAtなど直前で使ってるか?
もしそうならnew Blobでオブジェクトブロブ化する前にビュー確保して結合調整してみれ
0857Name_Not_Found
垢版 |
2017/06/25(日) 13:27:22.00ID:???
>>856
できました。
ありがとうございました。
0862Name_Not_Found
垢版 |
2017/06/28(水) 12:56:08.44ID:???
>>858
使ってるよ。割と良い。
ナマで使うのが辛いなら、serviceworkerに処理突っ込むか、PouchDBで捌くととても楽。
0863Name_Not_Found
垢版 |
2017/06/28(水) 21:30:10.72ID:???
利用したウェブアプリ増えてきてるよな。
流行ってきているのか今年になって7桁依頼6本目だ。
先週も依頼があってwpやめてローカルにデータベース構築して中規模サイトを複数管理できるものを作ってくれと依頼あったが、いくらにするか迷ってる。
0864Name_Not_Found
垢版 |
2017/06/29(木) 01:41:10.85ID:???
保存制限がいまいちわからん
0865Name_Not_Found
垢版 |
2017/07/08(土) 15:49:42.71ID:???
612 Name_Not_Found sage 2017/05/27(土) 02:13:51.31 ID:???
CDNが接続できないとか何いってんだって感じだなw
探せばそういうのあるかもしれんけど、
繋がりにくいとかありえんわ。
そんなに不安ならGoogleのCDNでも使ってりゃいいだろ

https://developers.google.com/speed/libraries/#jquery
0867Name_Not_Found
垢版 |
2017/07/09(日) 15:24:39.14ID:???
>>858
去年あたりから本格的に利用はじめたけど便利だよな
0868Name_Not_Found
垢版 |
2017/07/09(日) 18:57:19.99ID:???
おまえらって、githubでプログラム公開してたりするん?
0869Name_Not_Found
垢版 |
2017/07/10(月) 13:47:02.46ID:???
>>867
具体的に頼む。
今chromeのextensionでストレージに
chrome.localStorage使ってるんだけど
ちっとつかいづらい。
単純なkey-value型だけどPromiseとか付いてないから
自分で作って抽象化するのとかめんどくさい。
とは言えunlimitedStorageが使えるのはこいつだけだから
ほぼ一択なんかな。
0870Name_Not_Found
垢版 |
2017/07/10(月) 18:00:49.87ID:???
面倒ならまともに使えるライブラリが公開されるまで待てばいいだけの話し
0871Name_Not_Found
垢版 |
2017/07/11(火) 11:28:01.30ID:???
>>869
PouchDBでいいんじゃないの?オーバースペックだろうが。
0872Name_Not_Found
垢版 |
2017/07/12(水) 01:22:25.05ID:???
>>865
ホントこんな救い用のないアホいるのかよ

>>868
ライブラリを5点公開しているよ
うち1つは10万件以上ダウンロードされている
0873Name_Not_Found
垢版 |
2017/07/12(水) 15:55:15.92ID:???
>>872
って具体的にあげないのはなんで?
特定されるとなんかまずいこと書き込んでる?
0874Name_Not_Found
垢版 |
2017/07/12(水) 16:09:43.47ID:???
>>873
書いたら書いたで 宣伝乙 って返すだけだろ
お前らのやり口にはうんざりしてんだよ
0875Name_Not_Found
垢版 |
2017/07/12(水) 16:26:06.48ID:5m6+D7Il
一部宣伝乙みたいに捉える奴絶対いるからな
わざわざ晒す必要もないだろ
0879Name_Not_Found
垢版 |
2017/07/14(金) 01:48:46.82ID:???
JavaScriptでcssの@page を動的に変更する場合どのようにしますか?
0882Name_Not_Found
垢版 |
2017/07/18(火) 21:48:48.19ID:zI5VFuae
// 別スレの方に誤爆してしまったのでこちらにもう一度書きます

質問
よくあるhoverのmouseoutで子孫要素は無視するやーつの関連なんですが

<div>
<input type="text">
</div>

<div>には十分なpaddingがあるとして
<input>をダブルクリックとかしたときに出るブラウザUIの入力補完サジェストに
マウスを乗せると<div>でmouseoutイベントが発火するのだけれど
これを検知して除外するにはどうしたら良いでしょうか?

event.relatedTargetはnullでした
jQueryのhover()メソッドではmouseout扱いでした
0883882
垢版 |
2017/07/18(火) 22:12:08.16ID:zI5VFuae
サンプル用意しました
https://jsfiddle.net/ecmsjwLc/1/

「お名前」をダブルクリックして出るサジェストにマウスが乗ったとき
これをmouseoutから除外したい、です
よろしくお願いします
0884Name_Not_Found
垢版 |
2017/07/18(火) 23:29:09.58ID:???
>>883
この場合はmouseenter/mouseleaveの方が適切な気がするけど、
それは置いといて、

if (evt.relatedTarget) {
$(this).removeClass('hover');
}

とかすればいいんでないの?
サジェストにマウスが乗ったときの正確な仕様は知らんけど
0885882
垢版 |
2017/07/18(火) 23:40:56.07ID:HxcFp7Rb
>>884
あざます

たぶんなんだけど
サジェストに乗った時は
幅100%の要素からwindowの外に出た時と同じ扱い
のような気がするんですよね、nullだし
documentの外の物というか

>>883のサンプルみたいに、サジェストに対して<div>が十分大きければ
座標判定で逃げることもできるんですが
0886Name_Not_Found
垢版 |
2017/07/20(木) 00:15:58.79ID:sT16PNtd
>>885
いわゆるビックプルダウン的なのを作った時に同じことあったわ
同じように、マウス座標で判断した
0887Name_Not_Found
垢版 |
2017/07/22(土) 16:02:43.47ID:???
var res="12:34:56".match(/(\d+)/g);
console.log(RegExp.$1);
console.log(RegExp.$2);
console.log(RegExp.$3);
としました。
結果は最初の一行に56が出て、あとの2行は空白。
期待するのは、
12
34
56
でした。
console.log(res);// ["12","34","56"]とすれば容易なのですが
例えば
<あ0>12</あ><あ0>34</あ><あ0>56</あ>
みたいなときにmatch(/<あ0>([\d]+)</あ>/g)すると
['<あ0>12</あ>','<あ0>34</あ>',<あ0>56</あ>]
となるので、あとで<あ0></あ>を切り取ってやるかのか、そもそもmatchじゃなくreplaceすればいいのか
こういう、マッチさせつつマッチした中の重要な一部分を取得したいとき、
普通はどう処理するのか知りたいですよろしくお願いします
0889Name_Not_Found
垢版 |
2017/07/23(日) 01:39:11.88ID:Lo0i+fpa
質問:
タッチパネルの座標を取得したいんだけどスクロールすると取得座標が合わない
誰か教えて

// var node = イベント(onTouchStart)を登録するHTML要素
// var e = タッチイベント
// var touch 結果を格納する

function onTouch(e){
var _t = e.changedTouches[0];
var _x = _t.pageX;
var _y = _t.pageY;

var rect = node.getBoundingClientRect() ;

var offset_x = rect.left + window.pageXOffset ;
var offset_y = rect.top + window.pageYOffset ;

touch.x = _x - offset_x;
touch.y = _y - offset_y;
}
0890Name_Not_Found
垢版 |
2017/07/23(日) 03:15:12.62ID:???
アドバイスお願いします。

定期的かつ頻繁にforで124000回実行
中の処理は特定文字が見つかり次第置き換え。
このような処理が4000〜5000件。

JavaScriptを使って少しでも速く処理させたいと考えています。
適切な方法や書き方教えてください。
お願いします。
0893Name_Not_Found
垢版 |
2017/07/23(日) 03:40:55.46ID:???
>>887
var str = "12:34:56";

var re = /(\d+):(\d+):(\d+)/;
var ary = str.match(re);

console.log(ary);

正規表現 - MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions

正規表現なら、プログラム板の正規表現スレで、聞いた方が良いかも

>>890
速さでは遅延評価する、Lazy.js が速いらしいけど、
Lazy.js > Lo-Dash > Underscore

Lazy.js って使われているの?
version 0.4.2 だけど

Lo-Dash を使えば、ほぼすべての関数で、ネイティブと同等か、速い

.reduce: LoDash vs Underscore.js vs native
https://jsperf.com/reduce-lodash-vs-underscore-js-vs-native

Win10, IE11 でテストしたら、ネイティブの倍、速かった
0894Name_Not_Found
垢版 |
2017/07/23(日) 03:49:05.29ID:???
> 速さでは遅延評価する、Lazy.js が速いらしいけど、

http://itpro.nikkeibp.co.jp/article/COLUMN/20070403/267180/
> 遅延評価のほうが遅くなる場合


これ読めばわかるが遅延評価が速くなるのは
遅延評価に適した問題で実務でよく使われる
単純な例では遅くなる方が多いよ
0895893
垢版 |
2017/07/23(日) 03:49:06.99ID:???
>>893
自己レス

Revision 4: published Igor Cescon de Moura on 2017-5-15

で実行したら、ネイティブの3倍速かった
0896Name_Not_Found
垢版 |
2017/07/23(日) 03:54:21.22ID:???
>>894
遅くなる場合でも、ほぼ同じぐらいだろ

ブラウザの実装の違いを、平均化するから、ライブラリを使って損はない。
または最初から、フレームワーク内で、Lo-Dash を使っている
0897Name_Not_Found
垢版 |
2017/07/23(日) 05:39:07.60ID:???
何故早くしたいのかにもよるだろう
UXもといレンダリングに影響を与えるということなら
2倍早くできればいいというものでもないからな
そうじゃなくとも最速はSABを使ってのパラレル探索だ
本当はWASMでSIMD使いたいところだが
0898Name_Not_Found
垢版 |
2017/07/23(日) 11:39:57.19ID:???
>>897
そのSABとかWASMを使うのに便利なライブラリを
教えてください。
0899Name_Not_Found
垢版 |
2017/07/23(日) 11:58:58.33ID:???
ばか! そこが一番楽しいところだろ
つうかSAB使うのにライブラリは要らん
特に独立型の単純並列ならAtomicな処理も最小限で済むからね
0900Name_Not_Found
垢版 |
2017/07/23(日) 12:19:35.35ID:???
いやね、実験するだけならそれで良いかもしれないけど
実用するなら対応してないブラウザのサポートをどうするのか?って
問題があるんだよ。だからそれを抽象化して対応してない
ブラウザにはエミュレートするような機能があるライブラリが必要なわけ
0901Name_Not_Found
垢版 |
2017/07/23(日) 13:29:08.68ID:EV2Ai3tf
実際にはフラットケイジング処理でフレンジは皆無なんだけどね
0902Name_Not_Found
垢版 |
2017/07/23(日) 14:32:13.26ID:???
ポリフィルライブラリでエミュレートしなくちゃって言うのは、今回のようなパフォーマンス問題の場合には合わないかな
だって今回提案してる機能は、それを使う方が要件が楽に、スマートに実現できると言う物じゃなくて、確実に面倒にはなるけどパフォーマンスが良くなると言うものなのだから、
そもそもそれが同パフォーマンスで広環境向けにエミュレート出来るんなら最初からそっちを使えば良いと言うことになる

どちらかと言えばエンハンスメントかフォールバック式に考えた方が良い
まあただSABの場合はABの移譲として実装しても良いことも多いと思うよ
0903Name_Not_Found
垢版 |
2017/07/23(日) 19:56:36.98ID:???
>>890
var i=0;
var max=str.lengths; //124000回
var keyword="キーワード";
for(i=0;i<max;i=i+1)
hit(i);
}
function hit(i){
if(str[i].indexOf(keyword,0)!=-1){
// 特定の文字列が含まれているので置き換え
}
}
0904Name_Not_Found
垢版 |
2017/07/24(月) 11:51:24.80ID:???
遅くなりました890です。

>>903
こちらの方法で改善できました。
ありがとうございます。
0905Name_Not_Found
垢版 |
2017/07/24(月) 14:05:49.08ID:???
ワロタ
関数挟まない方が若干早くなるんじゃないか?
0906Name_Not_Found
垢版 |
2017/07/24(月) 14:57:13.43ID:???
改善っていうかやり方すらわからなかったんだろうなぁ
0907Name_Not_Found
垢版 |
2017/07/24(月) 15:07:44.51ID:???
多分、正規表現を使ってたんじゃないの?
0910Name_Not_Found
垢版 |
2017/07/24(月) 19:20:27.95ID:???
また否定されると愚痴るのがわいてるのかよ
0911Name_Not_Found
垢版 |
2017/07/25(火) 20:55:25.91ID:???
googleのコード短くするツール使うと
日本語が実体参照?数値参照?みたいなやつに置き換わるのですが
JavaScriptのコード中にそのまま日本語含めるのは好ましくないのでしょうか?
0912Name_Not_Found
垢版 |
2017/07/25(火) 21:55:28.12ID:???
>>911
単純にコードを短くするだけでなく、圧縮時のサイズ等も考慮されるため
圧縮しやすいように全角文字を変換し省くことで、圧縮性を高めています
日本語文字列の使用が好ましくないという事はありません
0913Name_Not_Found
垢版 |
2017/07/26(水) 00:08:00.97ID:???
なんなら変数名に日本語使ってもいいぞ(極論
0914Name_Not_Found
垢版 |
2017/07/26(水) 01:01:33.67ID:???
全角文字を省いたって数値参照?になるから
増やしてから減らしてるだけじゃん。意味ないよ
0915Name_Not_Found
垢版 |
2017/07/26(水) 01:30:25.79ID:???
国際化しないのなら、日本語のコメント・文字列を書いてもよい

ただし、変数名などには、日本語を使うな。
誰も日本語でテストしていないから、バグるかも

国際化対応では、文字列に、ID_何々と付けておいて、
別のファイルで、IDと日本語文字列を対応させる
0916911
垢版 |
2017/07/26(水) 06:20:21.56ID:???
おはようございます
>>912-915
レスありがとうございます
特別に何か不都合があってそうしてるわけではないということですね
これで安心できます
0918Name_Not_Found
垢版 |
2017/07/26(水) 19:03:45.22ID:???
プログラム板のスレが落ちて荒らしが移ってきたって言いたいんじゃない
元からどっちにも居着いてたと思うけど
0919Name_Not_Found
垢版 |
2017/07/26(水) 19:34:47.46ID:???
>>917
質問スレッドなのにスレルールも守れない人が書き込みしてる
0920Name_Not_Found
垢版 |
2017/07/26(水) 21:15:08.53ID:???
スレルール

> ・質問への「答え」だけでなく「意見」を出しても良い。
0921Name_Not_Found
垢版 |
2017/07/26(水) 22:44:32.54ID:???
909です。

>>917
>>890 例えばこの主に対して
読解力が無いまたは技術がない。もしくは簡単ではないと判断したから以下のようなレスをする。
>>891
>>892

それに対して>>903はソース例を回答する。

主から連絡があり解決されるが、
回答もしてない人達がケチをつけはじめる。
回答しているなら意見として良いことだと思うが今回はソース例を出したのが1名だけ。
はたからみるとスレを劣化させる悪質な人達だと思ってしまうといった葉梨です。

917さんと919さんはどう思われますか?
0922Name_Not_Found
垢版 |
2017/07/27(木) 04:44:48.75ID:???
香ばしい輩が常駐してるのはわかる。
0923Name_Not_Found
垢版 |
2017/07/27(木) 04:59:54.17ID:???
>>921
12400回ループを回すと重いどうにかならん?って質問に
12400回ループを回すコードを差し出してんだから
ネタじゃん
0924Name_Not_Found
垢版 |
2017/07/27(木) 06:29:36.74ID:???
そう?
俺は単純な判定に大袈裟な正規表現を使ってたり、
ループ内の処理に問題があったのならあの回答も良いものだと思ったけど
あと日本語変数は全く問題ないよ
0925Name_Not_Found
垢版 |
2017/07/27(木) 07:07:19.13ID:???
何れにせよ主から解決された書き込みがあったのだから正解を導いたレスが正義なんだよな
俺も次回からはコードなり例なり出すようにしようかな
0926Name_Not_Found
垢版 |
2017/07/27(木) 11:40:47.66ID:???
重いって言ってるんだから重いコードを出すか具体的にどう書いたのが書くべき
書かないなら ■禁止行為である「丸投げ質問」

正義を振りかざすな
質問者にとって正義かどうかとスレにとって正義かどうかは別だ
0927Name_Not_Found
垢版 |
2017/07/27(木) 12:55:01.63ID:???
わりとマジで書いたコード見せてくれるのが一番早いよなあ
書く方もJSを日本語に変換する手間もないし
脳内のJS→日本語インタプリタってよくバグるし

jsfeddleとかに貼ってくれるだけで十分なんだけどなあ
0928Name_Not_Found
垢版 |
2017/07/27(木) 19:14:53.07ID:???
また否定されて声闘してるやついるのかよ
0929Name_Not_Found
垢版 |
2017/07/27(木) 20:00:13.77ID:???
919だけど
>>921

以下の書き込みは一言余分な箇所がありスレの禁止行為に該当するとは思う。
>>905
>>906
0930Name_Not_Found
垢版 |
2017/07/27(木) 20:26:26.41ID:???
禁止行為に該当したらなんだって言うんだ?
現在進行形で明らかに同一人物が荒らしを続けてるならまだしも
0931Name_Not_Found
垢版 |
2017/07/27(木) 21:59:24.65ID:???
921です。

>>929
スレのルールを無視して荒らすような連中はスルーで良いんじゃないの?ワッチョイもなければIDも非表示のスレなんだし・・
そのへんは929さんはどう思う?
0932Name_Not_Found
垢版 |
2017/07/27(木) 22:29:04.15ID:???
実はここまで俺一人の自演な
0933Name_Not_Found
垢版 |
2017/07/29(土) 16:21:31.79ID:???
_あいう__かき____さ__AB___

などの文字列1行があります。
_は全角スペースまたはアンダーバーで数不特定。混在の可能性あり。
よって行の長さも不特定。(30文字までなど制限は加納)
_で始まるとは限らず文字列で始まる場合や文字列で終わる場合もあり。

これを文字列はそのままで左右入替するにはどうしたらいいでしょうか?

___AB__さ____かき__あいう_
0934Name_Not_Found
垢版 |
2017/07/29(土) 16:49:47.30ID:???
正規表現で全角のスペースorアンダーバーかそれ以外の単位で分けて配列に入れる
ひっくり返す
0935Name_Not_Found
垢版 |
2017/07/29(土) 17:46:55.81ID:???
jQueryでやれば簡単だよ。
0937Name_Not_Found
垢版 |
2017/07/29(土) 18:49:12.08ID:???
>>934
"_あいう__かき____さ__AB___ ".match(/[ _]+|[^ _]+/g).reverse().join('')
こうか
0938Name_Not_Found
垢版 |
2017/07/29(土) 18:54:12.40ID:???
jQueryならもっと簡単にできるのか?
0939Name_Not_Found
垢版 |
2017/07/29(土) 19:17:46.73ID:???
jQueryで簡単にできなかったら
jQueryは正規表現置換もできない
クソライブラリってことだ
0941Name_Not_Found
垢版 |
2017/07/29(土) 19:18:34.03ID:???
jQueryはDOMライブラリだからという言い訳はするなよ
jQueryはどんなことにでも使える汎用ライブラリだって聞いた
0942Name_Not_Found
垢版 |
2017/07/29(土) 19:21:31.84ID:???
jQueryは何にでも使えるライブラリである(俺の定義)
もし何にでも使えると主張するライブラリが
それを満たさなければクソライブラリである(俺の定義)
故に俺の定義によればjQueryはクソライブラリである
反論したいなら、俺の定義が間違っていることを客観的に
指摘している情報をもってこいな
0943933
垢版 |
2017/07/29(土) 21:26:44.07ID:???
>>937
[ _]と[^ _]をsplitで別の配列に入れてそれぞれreverseしてました
もっと簡単に書ける方法があるはずと感じながら・・・感謝です。
0944Name_Not_Found
垢版 |
2017/07/29(土) 21:28:39.34ID:???
おいぃぃぃぃ!今の流れはjQueryを
馬鹿にする流れだろおよおぉぉ!!
0945Name_Not_Found
垢版 |
2017/07/29(土) 23:12:19.95ID:???
jQuery原理主義者はSOHOスレに誘導させない方向で頼む
0946Name_Not_Found
垢版 |
2017/07/29(土) 23:31:59.90ID:???
誰もいかないだろw
そんな負け組が集まってるようなスレ
0947Name_Not_Found
垢版 |
2017/07/30(日) 01:48:57.30ID:???
頭の悪い奴に意味を教えるなよ
0948Name_Not_Found
垢版 |
2017/07/30(日) 02:32:06.29ID:???
俺がその頭が悪いやつなんだがw
0950Name_Not_Found
垢版 |
2017/07/30(日) 10:32:34.58ID:???
jquery原理主義者なんているんだ。jqueryってそんなにいいものなの?
正直つまみ食い的な使いかたしかしてないけど
DOMを直接操作するのと何が違うのかよくわかんない。
0951Name_Not_Found
垢版 |
2017/07/30(日) 10:55:34.52ID:???
React使わされるくらいならjQuery原理主義と謗られても構わん!

と思うくらいにはjQuery好きかも・・・
0952Name_Not_Found
垢版 |
2017/07/30(日) 11:05:31.92ID:???
JavaScriptがデフォルトで遅延評価になる日は来ますか?
現状配列をmapしてfilterして…みたいな使い方だとループを2度回すことになり無駄が多いのが不満です
0953Name_Not_Found
垢版 |
2017/07/30(日) 11:36:54.71ID:???
遅延評価って過程を事前にコンパイルしてできるだけ実行時の過程の処理を省略できるから意味がある訳で
スクリプト言語で実行時にそれをやっても良くはならないよ
0954Name_Not_Found
垢版 |
2017/07/30(日) 11:39:07.06ID:???
>>953
そうなんですね
素直にfor文使います
ありがとうございました
0955Name_Not_Found
垢版 |
2017/07/30(日) 12:35:22.41ID:???
>>950
> DOMを直接操作するのと何が違うのかよくわかんない。

できることが同じなら短いほうが良いでしょ?
それは可読性やバグ混入率にもつながる

jQueryを使わないで書く方法を見ればわかる。
どれもjQueryの方が短くなってるからw
0956Name_Not_Found
垢版 |
2017/07/30(日) 13:22:30.54ID:???
抽象化の利点が分からないのはちょっと痛いな
0957Name_Not_Found
垢版 |
2017/07/30(日) 15:41:10.74ID:???
jQuery原理主義者はいるぞ。
否定されるとゴキブリのごとくほいほいわいてくるw
0959Name_Not_Found
垢版 |
2017/07/30(日) 15:49:57.29ID:???
本当にいるのはどちらかよく分かるよねw
0960Name_Not_Found
垢版 |
2017/07/30(日) 17:14:57.10ID:???
jQueryはajaxを簡易に使うためくらいにしか使わないな
素のJavaScriptで全部できるし、jQuery使うと無駄に動作が遅くなる
0961Name_Not_Found
垢版 |
2017/07/30(日) 17:24:17.00ID:???
>>960
だからメリットがわからないんじゃね?
jQueryは3.0でSlim版っていうのができたが
これはAjax部分を取り除いたもの。

jQuey的にはAjaxはおまけ部分でしか無く
それだけしかお前が使っていないというならば
jQueryを分かってない人がjQueryを批判している図式にしかならないよ
0962Name_Not_Found
垢版 |
2017/07/30(日) 17:24:52.61ID:???
Ajaxも素のJavaScriptでできると思いますがねぇ
0963Name_Not_Found
垢版 |
2017/07/30(日) 17:25:01.03ID:???
>>955
コードが短くなるって利点は
typeScript使いの俺にはあんまり響かないなぁ
IDEで補完しまくるからそもそもほとんど打ち込まずに構築できるし。
なら極力使わないでいいかなと。

正直reactと言うよりreduxがしんどくなってきてelmに逃げたくなる自分がいる
仕事があるんかなw
0964Name_Not_Found
垢版 |
2017/07/30(日) 17:28:20.65ID:???
それってTypeScriptを使ってないとだめだよね?
0965Name_Not_Found
垢版 |
2017/07/30(日) 17:29:48.18ID:???
つまりtypeScriptを導入してないひとには
jQueryはメリットがあるってわけだな
0966Name_Not_Found
垢版 |
2017/07/30(日) 17:30:40.08ID:???
やはり抽象化が分かってない予感
0967Name_Not_Found
垢版 |
2017/07/30(日) 17:32:33.58ID:???
なんで抽象化の話が出てくるのかわからない。
関係ないだろ? いや、関係あるというのなら
どういう風に関係あるのかを説明してくれれば良いんだが
0968Name_Not_Found
垢版 |
2017/07/30(日) 18:05:31.39ID:???
>>961
単にajaxだけは素のJavaScriptだとコード量の差が大きいから、その部分だけ簡易にしたいだけで、
他は素のJavaScriptで全然いいやってだけなんだが
jQueryの良さを分かってないというか、別にajaxもjQuery使わずに実装できるし、なくても困らない
なんだフルにjQuery使う実装に固執しないとだめなんだ
0969Name_Not_Found
垢版 |
2017/07/30(日) 18:32:38.11ID:???
jQuery原理主義ってなんだ?
jQuery至上主義ならわかるが
0970Name_Not_Found
垢版 |
2017/07/30(日) 20:08:23.54ID:???
>>969
現代日本語での「原理主義」は
ファンダメンタリズムのことではなくただのレッテル貼りに使われる蔑称なので
特に意味は気にしなくていいんだよ
0971Name_Not_Found
垢版 |
2017/07/30(日) 20:59:31.96ID:???
>>968
> なんだフルにjQuery使う実装に固執しないとだめなんだ
逆だろ? jQueryを使わないことに固執してるだろ?
理由があってjQueryを使わないわけではなく
jQueryを使わないことが目的になってる

jQueryがDOMよりも使いやすい命令を提供しているのは事実。
それは昔も今も変わってない。

あとはjQueryを使うか、他のフレームワークを使うか
素のDOM APIだけで頑張るかはトレードオフの問題であって
使う理由がなくなったわけじゃないんだよ。

jQueryからDOM APIの置き換えは簡単なんだから
必要になるまではjQueryを使えばいいだろ
その方が簡単に記述できるんだから
0972Name_Not_Found
垢版 |
2017/07/30(日) 21:15:41.88ID:???
<!--reactみたいなコメントがずらーっと挿入されてるのはreactなの?
0973Name_Not_Found
垢版 |
2017/07/30(日) 21:38:29.58ID:???
>>971
文盲?頭が悪いんだろうな
jQueryの利点や使いやすい部分は理解しているが、JavaScriptでそれは普通にできてるしjQueryかますと当たり前だけど素より重くなるから使わないって選択肢なんだが
なんでわざわざ自分にとってデメリットになる方法を使わないといけないんだ
メリットあるとこだけ使えばいいだけで、
DOM操作だって、処理さえ理解していれば結局やってる事は同じだろう
DOM扱うのにjQueryが必須とか考えてるんだったら、それはjQueryに振り回されてるバカだ
0974Name_Not_Found
垢版 |
2017/07/30(日) 21:40:48.04ID:???
> JavaScriptでそれは普通にできてるし
そりゃjQueryもJavaScriptなんだから
できるできない、可能不可能の話なら可能に決まってるだろw

そんなこと始めっからわかりきってるんだよw

で、お前、jQueryのメリット書けないの?
やっぱり分かってないじゃん。

あぁ、あれだ。お前、歩いていくのも自動車で行くのも
どっちも目的地にたどり着けるから同じだって
考えてるやつだw
0975Name_Not_Found
垢版 |
2017/07/30(日) 21:59:04.14ID:???
jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
今でも互換性がないDOM操作ってあるの?
0976Name_Not_Found
垢版 |
2017/07/30(日) 22:16:40.32ID:???
>>975
今でもIE8からEdgeまでがメンテ対象なんですよ。 ふふふ
いっそ殺してくれとも思いますよ、ええ
0977Name_Not_Found
垢版 |
2017/07/30(日) 22:18:07.97ID:???
> jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
違う。jQueryのメリットはそこじゃない。

だからさ、自分で間違って理解しておいて
その間違った自分の理解が間違ってるって
まるで自分で自分の間違いを指摘するような行為ってなんなの?
0978Name_Not_Found
垢版 |
2017/07/30(日) 22:18:49.10ID:???
jQueryのメリットは、
脱jQueryの記事みればわかるよ。

jQueryを使わないことで
コードが2〜3倍に膨れ上がってる
0979Name_Not_Found
垢版 |
2017/07/30(日) 22:38:53.07ID:???
jQueryは簡潔に短いコードを書くことを目的としてるんでしょ
開発者によって面倒だったりポリシーであえてレガシーサポート切ったり様々だけど
ブラウザ間の差を吸収するってのはユーザビリティを過度に考慮した開発者の嗜みみたいなもんだ
つまりクロスプラットフォームなんてのはJavaScriptライブラリ全般に言えるっちゅうこと
んまあいくら簡潔っていってもメソッドチェーン多用しすぎ自由度高すぎで
人様の書いたjQueryのコードはあんま読みたくない
0980Name_Not_Found
垢版 |
2017/07/30(日) 22:42:38.05ID:???
> メソッドチェーン多用しすぎ
それは疑問がある。

メソッドチェーンができることは正しいがメソッドチェーンを多用することはないだろう?
それはjQueryの使い方を知らないだけではないか?

例えば、メソッドチェーンを使わずに3つのCSSプロパティを適用できる
http://js.studio-kingdom.com/jquery/css/css
$('div').css({
 'background-color' : '#ddd',
 'font-weight' : '',
 'color' : 'rgb(0,40,244)'
});

例えば、メソッドチェーンを使わずに3つのイベントを適用できる
http://js.studio-kingdom.com/jquery/events/on
$("div.test").on({
 click: function(){
  //クリック処理
  $(this).toggleClass("active");
 },
 mouseenter: function(){
  //マウスが要素上に入った時の処理
  $(this).addClass("inside");
 },
 mouseleave: function(){
  //マウスが要素上から離れた時の処理
  $(this).removeClass("inside");
 }
});
0981Name_Not_Found
垢版 |
2017/07/30(日) 22:45:46.97ID:???
例えばDOM要素を生成する時にメソッドチェーンを使わずに
一気に属性やテキストやイベントを指定できる。

http://api.jquery.com/jquery/#jQuery-html-attributes

$( "<div/>", {
 "class": "test",
 text: "Click me!",
 click: function() {
  $( this ).toggleClass( "test" );
 }
})
.appendTo( "body" );
0982Name_Not_Found
垢版 |
2017/07/31(月) 00:46:05.57ID:???
気持ち悪いねjqueryのコード
0983Name_Not_Found
垢版 |
2017/07/31(月) 01:01:10.31ID:???
ソウダネー(馬鹿かこいつ)
0984Name_Not_Found
垢版 |
2017/07/31(月) 05:41:22.13ID:???
俺も気持ち悪いというか、プログラマ向けではないなと感じるな
classとtext子要素とイベントリスナを同列に扱っているとことか
そこはオプションオブジェクトにattributesやeventListenersと言ったオブジェクトを
生やしてそちらに付与させるのが自然
thisの勝手気ままな使い方も合わせてjQueryはjQueryだから許されてるけど、
設計も使用例も原則真似するのは良くないことだらけ
こりゃjQueryから入っちゃうとJSの学習を阻害するのは間違いないな
その必要のない、JSプログラマにならない人にとっては、とても有益だけどな
0985Name_Not_Found
垢版 |
2017/07/31(月) 08:58:29.11ID:???
気持ち悪いというかDOM自体がこういう同列の書き方だからそれに倣ってるだけだろ
0986Name_Not_Found
垢版 |
2017/07/31(月) 09:22:38.52ID:???
jQueryはプログラムしてるというよりは設定してるみたいな感じだからね
0987Name_Not_Found
垢版 |
2017/07/31(月) 12:19:23.73ID:???
こういう流れになるからライブラリは他所でやれってテンプレに入ってたのに
いつの間にか消えてんな
0989Name_Not_Found
垢版 |
2017/07/31(月) 14:48:19.87ID:1u4TUm01
あーなるほど、DOMと一緒じゃんと考えるわけね
でも俺にとっては全然違うのよ
そもそもon〜は使わずaddを使うとかいうのもあるけど、それより先に
属性設定のアレはただのプロパティでなく特別なアクセサだからね?
もっと言えば継承元も違うしんだよ
そしてclassがclassNameのように属性と一対一で名前が対応しているわけでもない

じゃあjQの実装はどうかと言うと、classと指定できるから
汎用的に属性名を受け付けるために内部的にsetAttributeを使ってるのかなと思う。
もしそこまでならむしろ気持ちがいい良いAPIだが、実際は違う
要素のアクセサをそのまま利用しているわけでも無く、setAttributeをそのまま利用しているわけでもない
独自ルールに基いて内部的に特殊な場合分けをして要素に適応させてる

これは全然自然じゃないのよ、途轍もなく人工物の匂いが立ち込めてる
よって気持ちが悪いと言ったの
0990Name_Not_Found
垢版 |
2017/07/31(月) 15:01:44.51ID:???
これは勿論悪いことばかりだけじゃないんだけどね、
大抵のライブラリって実装が透けて見えると言うか、
ピュアJSやWebAPIとの馴染みがあるように設計するのよ
驚き最小と言うか、大胆な事はあまりしない
でもjQの場合別の言語かってくらい常識感覚が違うのよね
実はAngular並かそれ以上の超俺俺大規模フレームワークなのよ、本当は
それがデファクトのように扱われて、JSの代名詞になって、代名詞がJSとなってる自体はやはり良くないと思う
先の件でもDOMのこと全然理解してない人多そうだしねぇ
0991Name_Not_Found
垢版 |
2017/07/31(月) 15:40:56.94ID:???
あれだよね、DOMも並列とか、一緒くただとか、
もう完全に見た目でしかコードを見ていないよね
語弊を避けるために強調するがm悪いと言っているのではなく
これがデザイナー的発想なのかもしれない
でもプログラマだと内部構造や実体もかなり意識するからね
そういう違いなのかもしれない

俺は上でポリフィル云々という論を述べたけど
そもそもそういうこと考えてjQを使う人も稀なんだろうね
きっと、まずjQがあって、殆どそこから始まる感じなんだろうね
0992Name_Not_Found
垢版 |
2017/07/31(月) 17:35:56.16ID:???
>>979
使用量が増えれば増えるだけ実高速度がネイティブより遅くなる
これが正解
0993Name_Not_Found
垢版 |
2017/07/31(月) 17:38:39.68ID:???
>>962
必要な箇所だけ呼び出せるようにすれば無駄な読み込みがなくなって速いよ
0994Name_Not_Found
垢版 |
2017/07/31(月) 18:35:14.56ID:???
jqueryはtriggerとonで内部イベント作れる所とか結構好き。
0995Name_Not_Found
垢版 |
2017/07/31(月) 19:25:35.80ID:???
確かにネイティブが最速でjQueryは遅いになるわな
0996Name_Not_Found
垢版 |
2017/07/31(月) 19:30:04.18ID:???
クロスブラウザ問題も切り捨て時期に入りversion1の使う理由がなくる。
うちの会社では年内でjQueryをきることが決まったぞ。
遅いし無駄だし何よりもコードが気持ちが悪い
0997Name_Not_Found
垢版 |
2017/07/31(月) 19:31:27.44ID:???
確かversion2と3合わせても使用率が全体の1割りもないんだよな
0998Name_Not_Found
垢版 |
2017/07/31(月) 19:32:34.52ID:???
アフィカス必須ツールのjQueryはWordPressの波にのった金魚の糞なんだが・・
0999Name_Not_Found
垢版 |
2017/07/31(月) 19:34:13.64ID:???
JavaScriptのスレだからスレチになるのかなと次スレはワッチョイ希望です。
1000Name_Not_Found
垢版 |
2017/07/31(月) 19:34:53.76ID:???
気持ち悪いコードを書くjQuery原理主義者は淘汰されますようにw
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 523日 18時間 46分 28秒
10021002
垢版 |
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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