元スレ+ JavaScript の質問用スレッド vol.139 +
JavaScript覧 / PC版 /みんなの評価 :
554 = :
>>550
普通に分かりやすいコードで好感
560 = :
ちなlifeBar.minは許可されてないからundefined
561 = :
定義されていないからundefinedでしょ
APIにおいて「許可する」なんて用語はないから
562 = :
http://developer.mozilla.org/ja/docs/Web/HTML/Element/progress
メモ: 最小値は常に 0 であり、min 属性は progress 要素で許可されていません。-moz-orient CSS プロパティを使用して、プログレスバーを水平方向に表示する (既定値) か垂直方向に表示するかを指定できます。
ちゃんと読めよマヌケww
563 = :
いや、どうせMDNで変な文書でも読んで鵜呑みにしてるアホなんだろうなと思ったからみたよ
そしたら案の定書いてあったから呆れつつ教えてあげたのに馬鹿だねぇ
564 = :
はいはい 言い訳乙
565 = :
用語がなければ許可という単語を使っちゃいかんとか言うやつの気がしれん
566 = :
いえ、私の許可がないと、許可を使ったらいけません
567 = :
>>565
MDNの様に大量の文章があってその中で使われている言葉を一々ひねくれた揚げ足を取るつもりはないし
前後のコンテキストからその「許可されてない」という用語は深い言葉でもキーワードでもないということが分かる
でも>>560は違うだろう
たった1行の文章で、「ifeBar.minがundefinedになる」その理由は「許可されてない」からだと言ってる
MDNの文脈とは重みが全く違う
わざわざ助言として発言されている1行のレスの1/3を占める再重要な部分に変な部分があったらツッコミが入るのは当たり前
しかもMDNはDOMの属性の有効性の話をしているのに>>560はそれがJSのインターフェイスとしてどう振る舞うかの話になっている
使われ方が全く違う
MDNに限らないけど大量の文章があってその中の言葉を持ってくるときは慎重にならないといけない
568 = :
うーん
どっちも間違ってない気がするけど・・・
569 = :
>>568
もしDOMの仕様に、属性はこれだけあって、これらだけがAPIに現れるとか書かれてるのならまだ分かるけど
実際はDOMの属性とJSからアクセスできるインターフェイスは別で
名前が変わっているものもあるし、文字列以外の型で帰ってくるものもある
つまりそもそも属性がアクセサに一対一対応してる訳でもなく、そのまま自然と転写されているわけでもなく
それぞれが個別に独立して一々わざわざ別個に定義させられているのであって、
許可されている属性だけが見えているとかいう感じに考えるのは不自然で
提供されているアクセサのうち幾つかはそのままの名前で属性値へのアクセス相当になっているというのが実際のところだから
minというアクセサが無いのは属性が定義されていないからなどと言う事はできても
許可が云々という言い回しをそういう直接的にするのはおかしいでしょう、という違和感でのツッコミ
で、結局何が言いたいかというと、
おそらく自分なりの言葉で書いたら間違いになるかもしれないと思ってMDNから引っ張ってきたんだろうけど
特に名詞でもなく状態を表す言葉というのは、その言葉が書かれた場所でのみ正しいニュアンスを発揮するのであって
そういうのをただ持って来るよりは自分なりに解釈して自分の言葉で書こうよということ
そうじゃないと、突っ込まれたときもここに書いてあったとしか言えず、自分はこう言う意味で書いたと言うことすらできないでしょ
570 = :
progressbarで許可されてないからundefinedなんでしょ
571 = :
なるほど。
長文すぎるけどよくわかったよ
572 = :
>>570
直接的には要素オブジェクト、そのプロトタイプであるHTMLProgressElement.prototype及び
そのプロトタイプチェーン上で定義されていないからundefinedという値が最終的に帰ってくるというJSの機構が働いているのであって
ならどうして定義されていないのかと言うとDOM仕様のインターフェイスに定義されていないからで
定義されていないのはmin属性の仕様が存在しないからで実は隠し属性があるけどなんか許可されてなさげとか特殊なことになってるというわけでもないし
だれもどこでも何にへも許可や不許可は表していないのでそういう言い方をするのはおかしい
MDNでの「許可されていない」とはmax属性があったらmin属性もありそうと思うかもしれないけれど、
《仕様や実装を決めてる(認めている)立場の仮想的な超存在》を想定して、《解説を書いてあげてる俺達》から、
《仕様を調べに来た良くわかっていない使わせてもらう立場のお前ら》に対して言わせてもらうと
「許められていない」というちょっとひねった言い回しで「定義されていない」というのを言ってるだけで、
それはMDNがよく翻訳されていることもあるし、そういったMDN節をわかった上では理解できるかもしれないし
長文の中で別に注目するべきキーワードでもなく流してもいいようなものだから大丈夫なわけであって
単発でそういう言い回しをするのはやはり良くはない
573 = :
はぁ? お前ら何俺が雑に書いた書いたコードでグダグダやってんだ?
<progress id="lifeBar" value="0" max="100" min="0"></progress>
って書いてあったから、min属性があるかと思ったけど、
min属性はなかったってだけだろ?
そいで、JavaScriptのプロパティはHTMLの属性と一対一で対応してることが多いから、
単に、min属性がなかったから、JavaScriptでもminプロパティがないってだけだろ
574 = :
煽ってくる奴におえちゃだめじゃん!!
575 = :
そも原文はmin attribute is not allowed for the progress elementだから
単純に「プログレス要素にmin属性使っちゃダメよ」と言ってるだけで
日本語の許可のニュアンスがそぐわないだけでしょ
576 = :
つまりMDNの日本語訳が糞だったってことだ!
577 = :
初心者に説明するときは難しいことを細かくいっても仕方ないからぽあっといいんだよ
本当に本人に興味があれば自分で調べるでしょ
578 = :
全部がオブジェクト
プリミティブ値は値渡し
クラスは存在しない
JavaScriptには嘘が多い
579 = :
さすがに全部がオブジェクトと主張するような人は
いないと思いたいが……
580 = :
>>560の言はこんな感じ
const o = {};
console.log(o.a); // undefined
o.a が undefined を返すのは o が a を許可していないからだ(ドヤ
581 = :
もういいから
582 = :
78 Name_Not_Found 2019/05/04(土) 14:26:07.86 ID:0QCBVNNe
どこで聞いたらいいかわからなくて・・優しいお兄さん教えて下さい。
サーチコンソールから突然、
「許可されていない属性または属性値が HMTL タグにあります」と、
エラーが来たんだけで私はどうすればいいでしょうか?
超初心者でほんとスミマセン。
ワードプレス/コクーン使用です
583 = :
一般論から言うと警告と言うのは無視すべき
出たらどうすべきか分かる価値のある警告以外は無効にしておこう
それで心配なら自動校正してくれるツールを使おう
584 = :
変数の値の文字列への変換は、
変数 + ”” が一番早いとの計測結果を見つけましたが、
ブラウザの互換性とか大丈夫な書き方でしょうか?
586 = :
チート転生のなろう系ファンタジーが人気なのと同じ
自分が話題の中心になっている用に見せかけて悦に入る自演君はもう飽き飽き
587 = :
よく理解してない輩がいい加減なことをほざく事にいらつく気持ちは分からんでもない
588 = :
if(result.match(/[0-9]/)){
flag=true;
}
数字が含まれていたらフラグを、というのを
数字と大文字が含まれていたら、という条件に変更したいのですが、
if分を増やさずに条件を増やすにはどう書けばいいのでしょうか?
589 = :
/[0-9A-Z]/
591 = :
正規表現
http://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
数字は、\d。[0-9] と同じだから、
[0-9A-Z] は、[\dA-Z] と書ける
var re = /[\dA-Z]/;
var str = "a6Z";
var ary = re.exec( str ); // [ '6', index: 1, input: 'a6Z' ]
var res = re.test( str ); // true
592 = :
質問です
for(let a of arr) {...}
というところを通る時、arrが配列なのですが、...の中を1度も実行しない(1度もループしない)で素通りさせたい時があります
ただしarrの中身はここよりだいぶ前で決定するので
if(arr)for(let a of arr) {...}
という方法は駄目だとします
こういう場合にarrに何かを入れておくことで、このforの中を一度も通らないようにすることはできないでしょうか?
試しに[]やnullにしてみたけど駄目のようで、ループの中を通ってしまいました。
594 = :
>>592
一目で通らないこと分かるでしょ
どうして通ると思うのかが不思議
596 = :
素通りさせたい時がどういう時なのか当然分かっているのだからその判定をif文ですればいい
597 = :
>>594,595
ルールを守った上で回答してください
598 = :
if (typeof eval(evt.target.id) == 'function') {
eval(evt.target.id+'(evt)');
}
これevalツカワナイもっといい書き方できませんか?
599 = :
evt.target.id(evt);
ではいかんの?
600 = :
少し違う話だけどさ
if (typeof eval(evt.target.id) == 'function') {
こんな感じでさ、「もし関数なら、関数呼び出しをする」
なんてコードは普通いらないんだよ。いきなり「関数呼び出しをする」だけでOK
え?関数でなかったらエラーになる? → そこに関数以外が来ることなんて有るのか?
バグで関数以外を渡してしまった時 → じゃあそのバグの方を直せ
こういう「もし関数なら」なんてコードが必要なのは、
関数 or 数値 みたいに複数の型が入る可能性があって型によって処理を分けるときだけ
念のために関数かどうかチェックしてます(えらいやろ、どや)みたいなコードは、
関数以外が入ってしまうバグがあったらバグを無視します。という間違ったコードになっている。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + 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.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.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
トップメニューへ / →のくす牧場書庫について