元スレ+ JavaScript の質問用スレッド vol.138 +
JavaScript覧 / PC版 /みんなの評価 :
404 = :
>>396
これはどうして動くの
405 = :
3つしか演算子ないんだから
流石に自分でいろんな場合考えてみようぜ
406 = :
>>404
論理演算子 ||(or)は
expr1 || expr2 としたとき
expr1がfalseとみなせる値の時、expr2を返す
falseとみなされるのは
0、-0、false、null、undefined、NaN、空文字
aが正のとき、カッコがfalseつまり0なので
0 || 1 となり、0はfalseとみなされ1が返る
aが負のとき、カッコがtrueつまり1なので
-1 || 1 となり、-1はfalseとみなされないので-1が返る
408 = :
(a>0)-(a<0)
が一番わかり易いでしょ
409 = :
>>408
すばらしい
410 = :
結局signのpolyfillやないかい
411 = :
それがどうかしたのか?
414 = :
7文字
a>>31|1
415 = :
さぁ!6文字誰かいないかい?
7文字で終わりなのかい!?
416 = :
>>410
>>393以外はa=0の時の挙動がsignと違うからポリフィルにはならないような
417 = :
a=-100000000000000000000000000;
がだめじゃん
まぁガバガバだけどそこそこ動けばいいレベルだと7文字限界っぽいな
419 = :
>>417
対応したぞ~
a?/^-/.test(a)?-1:1:0
0のときの挙動もsignと同じだw
420 = :
>>419
これは安全w
遅そうだけど
421 = :
残念ながらNaNに対応できていない
426 = :
スマホ(android)でもjavaScriptの勉強がしたいのですが、使いやすい出力アプリ?はありますか?
ブラウザで出力できるのならそれでも良いのですが、なかなか難しいようで…
427 :
>>426
使いやすくはないけど
http://codepen.io
http://jsfiddle.net/
スマホで無理に書くより、大人しく仕様を読むとかにとどめておいたほうが良いとは思う
428 = :
>>427
codepenを使わせていただきます。
ありがとうございました。
429 = :
なぜあえてそんな苦行を…
430 = :
ホリエモンの影響だろうな
スマホでなんでもやっていくスタイルには賛成だが
少なくともjavascriptのコーディングをスマホのみでやるのは数年早い
フォークしてコピペや改変くらいならまだしも
431 = :
俺はガキの頃ガラケーのフルブラウザから始めたぞ
大丈夫、できるよ
432 = 427 :
紙とペンの方がマシなレベル
434 = :
スマホでもIDEの補完並みのIMEがあればできるかもな あるのか?
435 = :
いらんでしょ
昔はメモ帳で書く人も多かったんだし
制約が多い中頑張ることは変な癖がつくけどそれはプラスにもなる
436 = :
すみません初心者の質問ですが
あるelementAが存在するかしないか分からない時に、
var element=elementA;
elemet.style.display="none";
というふうに書くとelementが要素でないのでstyleがundefinedになるので2行目の時点でエラーになってしまいますよね。
こういう時に「要素があれば指定の処理をする、なければ何もしない、エラーは出さない」ようにするには
var element=elementA;
if(element)elemet.style.display="none";
というふうに書くしかないのでしょうか?もう少し簡潔に書く方法とかあったりしないのでしょうか
437 = :
>>436
すみません
x というふうに書くとelementが要素でないのでstyleがundefinedになるので2行目の時点でエラーになってしまいますよね。
o というふうに書くとelementAが存在しない場合はelementが要素でなくなるのでstyleがundefinedになるので2行目の時点でエラーになってしまいますよね。
です
438 = :
>>436
十分簡潔だと思うけど……
439 = :
あーひょっとして
ver element = elementA?elementA:new Element()
みたいなことをしたいのかな
NullObject的な
440 :
ダミー要素を入れておくって手法も
441 = :
function ignore (f) {
try { return f(); } catch(e) {} ;
}
ignore(() => {
var element =elementA;
element.styke.display = "none";
});
442 = :
jQuery厨さんの出番のような気がするけど今日はいないのかな?
444 = :
>>442
呼んだ?w
>>436
jQueryの設計は
1. セレクタで検索する
2. 「0個以上のマッチした要素」であるjQueryオブジェクトが作られる
3. そのjQueryオブジェクトに対してメソッドを呼び出すと、
「0個以上のマッチした要素」全体に対して処理が適用される。
つまり存在してもしなくても同じように処理をかけて
要素がなければないでエラーにならないという設計だよ。
CSSと同じだね。(CSSも要素がなくてもエラーにならない)
>>436の例だと以下のように簡潔に書ける。
$(elementA).css({display: 'none');
ただ普通はこのようには書かない。
一般的には $(elementA) ではなく、$('.foo') みたいなセレクタを書くし
CSSを直接いじるのではなく $(・・・).addClass('bar'); みたいにクラス名をつけ外しして
CSS側で .bar { display: none } みたいに書く
なお >>441 はありえないクソコード
445 = :
これだけのためにわざわざ何KBもあるコードを導入しないといけない案の方が遥かにクソだけどな
446 :
んーまぁ>>441は一番ないかな
もっとべた書きでいいと思う
>>445
このレベルの質問する人なら、もうjqueryを利用したライブラリはバンバン使ってると思う
jQueryの導入については気にしなくていいと思う
なんだったら、テンプレを作ってみては?jQueryの有無とか
448 = :
433ですありがとうございます
>>438
beautifyをかけた時に2行に分かれてしまうのがイヤだったり(そんな重要な部分じゃないのでソース上で場所とったり変に目立ったりして欲しくない)
同じ変数名を1度以上書きたくなかったり(そこが変数じゃなかったり変数名が長かった場合かさばるから)
して、まさにjQueryみたいに反応してほしいんですよね。むしろ直接
elementA.style.display="none";
と書いて、elementAが存在しなかったりエレメントじゃなかったりすれば何もせず素通りしてほしいぐらいなんです。
(elementA?).style.display="none"; とか
if(elementA).style.display="none";
みたいな書き方が(空想ですが)あればいいんですが。
>>439
そうですね、そんなふうに1行にまとめる書き方でelementAを2度書かなくてすむ書き方があれば知りたいです…
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [95%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
トップメニューへ / →のくす牧場書庫について