JavaScript を自ら学ぶ人のための質問スレッドです。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
前スレ
+ JavaScript の質問用スレッド vol.125 +
https://mevius.5ch.net/test/read.cgi/tech/1518940081/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
探検
+ JavaScript の質問用スレッド vol.126 +
レス数が950を超えています。1000を超えると書き込みができなくなります。
2018/06/02(土) 14:31:23.04ID:B1JKBGEy
865デフォルトの名無しさん
2019/01/15(火) 23:01:45.06ID:+Q2URMA7 >>860
オレオレ定義で妄想おつ
オレオレ定義で妄想おつ
866デフォルトの名無しさん
2019/01/16(水) 06:46:16.07ID:2Lqji3T2 な? >>864のように声だけデカイんだよ
867デフォルトの名無しさん
2019/01/19(土) 03:47:07.72ID:pxg53bXv list.map(x => new Hoge(x))
これを
list.map(Hoge)
みたいに書きたいんですが出来ませんか?
staticでファクトリーメソッド実装するしかない?
これを
list.map(Hoge)
みたいに書きたいんですが出来ませんか?
staticでファクトリーメソッド実装するしかない?
868デフォルトの名無しさん
2019/01/19(土) 06:14:08.63ID:xhDg2W2P >>867
const Hoge = class {
constructor(a) {
this.a = a;
}
}
const hogeProxy = new Proxy(Hoge, {
get: (target, key) => key === target.name ? x => new target(x) : target[key],
has: (target, key) => (key in target || key === target.name) ? true : false,
})
with (hogeProxy) {
console.log([1, 2, 3].map(Hoge));
}
//=> [Hoge {a: 1}, Hoge {a: 2}, Hoge {a: 3}]
const Hoge = class {
constructor(a) {
this.a = a;
}
}
const hogeProxy = new Proxy(Hoge, {
get: (target, key) => key === target.name ? x => new target(x) : target[key],
has: (target, key) => (key in target || key === target.name) ? true : false,
})
with (hogeProxy) {
console.log([1, 2, 3].map(Hoge));
}
//=> [Hoge {a: 1}, Hoge {a: 2}, Hoge {a: 3}]
869デフォルトの名無しさん
2019/01/19(土) 08:42:38.70ID:NKRnmbDh >>867
class Hoge {
constructor(x) {
this.x = x;
}
}
function foo(Hoge) {
list.map(Hoge);
}
foo(x => new Hoge(x))
class Hoge {
constructor(x) {
this.x = x;
}
}
function foo(Hoge) {
list.map(Hoge);
}
foo(x => new Hoge(x))
870デフォルトの名無しさん
2019/01/19(土) 10:11:49.19ID:61MkY90x871デフォルトの名無しさん
2019/01/19(土) 15:43:36.73ID:wiNfQeeu Ruby では、: で始まるシンボルで、メソッド名を渡すことで、インスタンスメソッドを呼べる
# 数値に変換してから、配列内のすべての数字を足す
puts numbers.map(&:to_i).inject(:+)
# 数値に変換してから、配列内のすべての数字を足す
puts numbers.map(&:to_i).inject(:+)
872デフォルトの名無しさん
2019/01/19(土) 15:58:41.16ID:xhDg2W2P 655 デフォルトの名無しさん sage 2018/10/15(月) 05:44:32.10 ID:5+V16LLD
>>649
メソッドにしておくと select(&::positive?) と書けるという理由だった気がする
657 デフォルトの名無しさん 2018/10/15(月) 09:25:55.90 ID:/ogVl406
>>655
きったねえ文法だなぁw
美しい(笑)
疑似コードがそのまま動く(笑)
&::とかの意味不明な疑似コードがどこにあるってんだよwww
658 デフォルトの名無しさん sage 2018/10/15(月) 10:09:06.69 ID:r7U1tD/N
擬似コードがそのまま動くのはPythonじゃね
関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select ((>) 0) みたいに書けたりするね
ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける
Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
>>649
メソッドにしておくと select(&::positive?) と書けるという理由だった気がする
657 デフォルトの名無しさん 2018/10/15(月) 09:25:55.90 ID:/ogVl406
>>655
きったねえ文法だなぁw
美しい(笑)
疑似コードがそのまま動く(笑)
&::とかの意味不明な疑似コードがどこにあるってんだよwww
658 デフォルトの名無しさん sage 2018/10/15(月) 10:09:06.69 ID:r7U1tD/N
擬似コードがそのまま動くのはPythonじゃね
関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select ((>) 0) みたいに書けたりするね
ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける
Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
873デフォルトの名無しさん
2019/01/19(土) 16:23:10.62ID:NKRnmbDh >>871
> Ruby では、: で始まるシンボルで、メソッド名を渡すことで、インスタンスメソッドを呼べる
シンボルってただの文字列と変わらないからね
定義しなくて使えるから、タイポしてもエラーになるわけじゃないし
> Ruby では、: で始まるシンボルで、メソッド名を渡すことで、インスタンスメソッドを呼べる
シンボルってただの文字列と変わらないからね
定義しなくて使えるから、タイポしてもエラーになるわけじゃないし
874デフォルトの名無しさん
2019/01/19(土) 16:34:18.49ID:TO8T1N5e >>867ですがいろいろとありがとうございます。
list.map(Number)ができるならlist.map(Hoge)もできるんじゃないかと思ったのですが、一筋縄では行かないようですね
おうちゃくせずに素直に仮引数つけます
list.map(Number)ができるならlist.map(Hoge)もできるんじゃないかと思ったのですが、一筋縄では行かないようですね
おうちゃくせずに素直に仮引数つけます
875デフォルトの名無しさん
2019/01/19(土) 16:57:46.13ID:TeWxng+0 昔はコンストラクタがただの関数だったから、class構文にしなきゃできるな
es5にトランスパイルすればいける
es5にトランスパイルすればいける
876デフォルトの名無しさん
2019/01/19(土) 17:01:01.38ID:ukgk9vnp >>875
なるほどね。何のこっちゃと思ったがそういうことか。
なるほどね。何のこっちゃと思ったがそういうことか。
877デフォルトの名無しさん
2019/01/19(土) 17:17:55.46ID:SwmccsG2 コンパイラエラー C2872 あいまいなシンボルです。
コンパイルエラーが解消出来ません。
ご教授下さい。
■コンパイルエラー内容
error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです
■やりたいこと
AmazonのAPI「Marketplace Web Service API (MWS)」のHello world
以下ページの右上 オレンジ色の「Download」ボタンから入手できる
「MWSProducts_2011-10-01_v2017-03-22.dll」の使用
https://developer.amazonservices.jp/doc/products/products/v20111001/cSharp.html
■DLLの使用
Visual Studioの対象プロジェクトのプロパティから、
上記DLLの参照を追加しました
■コーディング
using namespace MarketplaceWebServiceProducts;//←ここはコンパイルOK
using namespace MarketplaceWebServiceProducts::Mock;//←★ここで上記コンパイルエラー
■ご質問
上位の「MarketplaceWebServiceProducts」が正常なのに、
下位の「Mock」を付けるとあいまいなシンボルになるのはなぜでしょうか。
解決策をご教授ください。(可能であれば実装をご提供ください)
■環境
Visual Studio
.Net 4.0
C++/Cli
コンパイルエラーが解消出来ません。
ご教授下さい。
■コンパイルエラー内容
error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです
■やりたいこと
AmazonのAPI「Marketplace Web Service API (MWS)」のHello world
以下ページの右上 オレンジ色の「Download」ボタンから入手できる
「MWSProducts_2011-10-01_v2017-03-22.dll」の使用
https://developer.amazonservices.jp/doc/products/products/v20111001/cSharp.html
■DLLの使用
Visual Studioの対象プロジェクトのプロパティから、
上記DLLの参照を追加しました
■コーディング
using namespace MarketplaceWebServiceProducts;//←ここはコンパイルOK
using namespace MarketplaceWebServiceProducts::Mock;//←★ここで上記コンパイルエラー
■ご質問
上位の「MarketplaceWebServiceProducts」が正常なのに、
下位の「Mock」を付けるとあいまいなシンボルになるのはなぜでしょうか。
解決策をご教授ください。(可能であれば実装をご提供ください)
■環境
Visual Studio
.Net 4.0
C++/Cli
878デフォルトの名無しさん
2019/01/19(土) 17:43:38.99ID:TqFwYkHH スレタイ音読
879デフォルトの名無しさん
2019/01/19(土) 18:28:01.65ID:wiNfQeeu >本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
この質問者は、荒らしだから、無視しろ!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
この質問者は、荒らしだから、無視しろ!
880デフォルトの名無しさん
2019/01/19(土) 19:13:31.85ID:42e10N7I881デフォルトの名無しさん
2019/01/19(土) 19:25:13.47ID:ZDGn0g7S だから場合分けするんだよ
882デフォルトの名無しさん
2019/01/19(土) 19:30:47.77ID:42e10N7I Hogeの方で工夫するのならスタティックメソッドを生やすのとえっと変わらんじゃん
もしくはHoge.aryFrom(list) みたいなの用意してもいいんだし
もしくはHoge.aryFrom(list) みたいなの用意してもいいんだし
883デフォルトの名無しさん
2019/01/19(土) 19:33:39.03ID:NKRnmbDh はは、Rubyじゃあるまいし、カッコつけないと
関数呼び出しにならないのに、どうやって場合分けするっていうんだ
はは
関数呼び出しにならないのに、どうやって場合分けするっていうんだ
はは
884デフォルトの名無しさん
2019/01/19(土) 19:39:24.01ID:ZDGn0g7S886デフォルトの名無しさん
2019/01/20(日) 00:27:30.68ID:40HwJ7d/ > list.map(x => new Hoge(x))
> これを
> list.map(Hoge)
> みたいに書きたいんですが出来ませんか?
Hogeのどこが関数なの?
関数っていうのはHoge()ってやらないといけないんだよ?
ほんとうに情けないんわ
> これを
> list.map(Hoge)
> みたいに書きたいんですが出来ませんか?
Hogeのどこが関数なの?
関数っていうのはHoge()ってやらないといけないんだよ?
ほんとうに情けないんわ
887デフォルトの名無しさん
2019/01/20(日) 00:37:29.30ID:62lK6b9v const double = n => n * 2;
[1, 2, 3].map(double);
//=> [2, 4, 6]
ワロタwww
>>886によるとこのdoubleは関数じゃないらしいw
double(1)みたいな呼び出しじゃないからだってwwwww
[1, 2, 3].map(double);
//=> [2, 4, 6]
ワロタwww
>>886によるとこのdoubleは関数じゃないらしいw
double(1)みたいな呼び出しじゃないからだってwwwww
888デフォルトの名無しさん
2019/01/20(日) 00:42:24.82ID:62lK6b9v class Hoge {
constructor(x) {
this.x = x;
}
}
console.log(typeof Hoge);
//=> function
> Hogeのどこが関数なの?
wwwww
constructor(x) {
this.x = x;
}
}
console.log(typeof Hoge);
//=> function
> Hogeのどこが関数なの?
wwwww
889デフォルトの名無しさん
2019/01/20(日) 01:16:35.87ID:U54SgNBZ >>888
お前はこの意味がわかってないんだな
> 関数形式で呼ばれたか、コンストラクタとして呼ばれたかで分けるってことだよ
list.map(Hoge) のHogeは
関数形式で呼ばれたか、コンストラクタとして呼ばれたか
どっちか言ってみ
お前はこの意味がわかってないんだな
> 関数形式で呼ばれたか、コンストラクタとして呼ばれたかで分けるってことだよ
list.map(Hoge) のHogeは
関数形式で呼ばれたか、コンストラクタとして呼ばれたか
どっちか言ってみ
890デフォルトの名無しさん
2019/01/20(日) 01:58:00.54ID:62lK6b9v そんな雑魚レス見てないし関係ない。
> 関数っていうのはHoge()ってやらないといけないんだよ?
これは恥ずかしい誤りwww
反例
[1, 2, 3].forEach(console.log)
> 関数っていうのはHoge()ってやらないといけないんだよ?
これは恥ずかしい誤りwww
反例
[1, 2, 3].forEach(console.log)
891デフォルトの名無しさん
2019/01/20(日) 05:48:06.80ID:y/Svh0b0 spanやdivのクリックイベントを、buttonと同じ要素に出来ないでしょうか?
コンソールでイベントを確認すると、currentTargetが
divはHTMLParagraphElementで、buttonはHTMLButtonElementになっています。
CSSでdivタグをボタン風にしていることもあるので、
Javascript上でもボタン扱いしたいのですが、書き方次第で変更できるのでしょうか?
コンソールでイベントを確認すると、currentTargetが
divはHTMLParagraphElementで、buttonはHTMLButtonElementになっています。
CSSでdivタグをボタン風にしていることもあるので、
Javascript上でもボタン扱いしたいのですが、書き方次第で変更できるのでしょうか?
892デフォルトの名無しさん
2019/01/20(日) 07:49:29.85ID:U54SgNBZ >>890
なんだ?お前重箱の隅ばかりついて、
関数形式で呼ばれたか、コンストラクタとして呼ばれたかで分けても
元の質問者の希望である
list.map(Hoge) とはかけないってことに
まだ気づいてないのか?
なんだ?お前重箱の隅ばかりついて、
関数形式で呼ばれたか、コンストラクタとして呼ばれたかで分けても
元の質問者の希望である
list.map(Hoge) とはかけないってことに
まだ気づいてないのか?
893デフォルトの名無しさん
2019/01/20(日) 07:51:00.80ID:U54SgNBZ894デフォルトの名無しさん
2019/01/20(日) 09:12:39.85ID:fBsdchbe895デフォルトの名無しさん
2019/01/20(日) 10:08:42.25ID:U54SgNBZ >>891
> CSSでdivタグをボタン風にしていることもあるので、
> Javascript上でもボタン扱いしたいのですが、書き方次第で変更できるのでしょうか?
そもそもdivタグをボタンにするのが間違い。
そこにクリックできるボタンがあるのなら、ボタンで作るのが正しい
見た目はCSSで変える。何がほしいか?ボタンがほしいならボタンを使う。それだけのこと
> CSSでdivタグをボタン風にしていることもあるので、
> Javascript上でもボタン扱いしたいのですが、書き方次第で変更できるのでしょうか?
そもそもdivタグをボタンにするのが間違い。
そこにクリックできるボタンがあるのなら、ボタンで作るのが正しい
見た目はCSSで変える。何がほしいか?ボタンがほしいならボタンを使う。それだけのこと
896デフォルトの名無しさん
2019/01/20(日) 10:15:54.36ID:z7e/RJqb897デフォルトの名無しさん
2019/01/20(日) 12:26:13.71ID:CrxCXx63 >>896
ボタンにa要素はお勧めしない
ボタンにa要素はお勧めしない
898デフォルトの名無しさん
2019/01/20(日) 15:35:58.63ID:pkTQkmr2 >divはHTMLParagraphElementで、buttonはHTMLButtonElementになっています
多分どちらも、HTMLElement から派生したクラスじゃないの?
Vue.js では、ルーター用のリンクを、<a> タグ以外にも変えられる
<router-link to="/foo" tag="li">foo</router-link>
<!-- 以下のように描画されます -->
<li>foo</li>
tag="button" で、ボタンにもできる
多分どちらも、HTMLElement から派生したクラスじゃないの?
Vue.js では、ルーター用のリンクを、<a> タグ以外にも変えられる
<router-link to="/foo" tag="li">foo</router-link>
<!-- 以下のように描画されます -->
<li>foo</li>
tag="button" で、ボタンにもできる
899デフォルトの名無しさん
2019/01/20(日) 23:43:12.79ID:y/Svh0b0 >>893-894
そういうことではなく、divをクリックしたら
Javascript的に「これはボタン要素です」って認識させたいんです。
>>895-896
確かにそうなんですが、UIとかボタンじゃないほうが良い場合が多々あるんです。
でもデザイン的にボタン風が良いので、spanやdivで代用します。(よく利用されています
<a href="javascript::void(0);" class="button">ボタン</a>で、a要素をボタンにもできますが、
aは使いにくいんですよね。やっぱりデザイン的に使いたいだけなんで、spanかdivなんです。
>>898
Vue.jsは知りませんが、イメージとしてはそういうことがしたいです。
HTML5とかJavascriptとかjQueryとかで可能なら一番なのですが・・・
そういうことではなく、divをクリックしたら
Javascript的に「これはボタン要素です」って認識させたいんです。
>>895-896
確かにそうなんですが、UIとかボタンじゃないほうが良い場合が多々あるんです。
でもデザイン的にボタン風が良いので、spanやdivで代用します。(よく利用されています
<a href="javascript::void(0);" class="button">ボタン</a>で、a要素をボタンにもできますが、
aは使いにくいんですよね。やっぱりデザイン的に使いたいだけなんで、spanかdivなんです。
>>898
Vue.jsは知りませんが、イメージとしてはそういうことがしたいです。
HTML5とかJavascriptとかjQueryとかで可能なら一番なのですが・・・
900デフォルトの名無しさん
2019/01/20(日) 23:53:43.09ID:enluc8/B そもそもJSにdivをbuttonとして誤認識させた後に何をしたいのかがよくわからないけど、どうしてもHTMLButtonElementにしたいってのが目的ならそういうコンバーターなり何なりを作るしかないんじゃないの
901デフォルトの名無しさん
2019/01/21(月) 00:11:05.42ID:oLr+arIk >>899
意味不明。初心者が馬鹿やろうとしてるとしか。
JavaScriptも24年の歴史があり、広く使われているのだから、
初心者が思いつくようなところで今更困ることはほぼ無い。
それはやり方を間違えているだけ。
多分CSSについて勉強した方がいい。
意味不明。初心者が馬鹿やろうとしてるとしか。
JavaScriptも24年の歴史があり、広く使われているのだから、
初心者が思いつくようなところで今更困ることはほぼ無い。
それはやり方を間違えているだけ。
多分CSSについて勉強した方がいい。
902デフォルトの名無しさん
2019/01/21(月) 00:55:24.42ID:DW5LJSe/ この世にIEという存在がなければそんな変なことは考えないのですが、
IEの利用者がまだいてbuttonのクリックイベントと、divのクリックイベントでは
差異があるので、なんとかしようと考えた次第です。
とりあえず「簡単にはできないし、まず無理」という結論であればそれを受け入れます。
IEの利用者がまだいてbuttonのクリックイベントと、divのクリックイベントでは
差異があるので、なんとかしようと考えた次第です。
とりあえず「簡単にはできないし、まず無理」という結論であればそれを受け入れます。
903デフォルトの名無しさん
2019/01/21(月) 01:12:29.24ID:oLr+arIk >>902
馬鹿乙
IEなんて大昔からあるだろ。
それが本当に必要なら、誰かが既に開発して、それこそjQueryにでも搭載されてるよ。
無い=要らない、ってことなんだよ。初心者ならやり方を間違ってるだけ。
馬鹿乙
IEなんて大昔からあるだろ。
それが本当に必要なら、誰かが既に開発して、それこそjQueryにでも搭載されてるよ。
無い=要らない、ってことなんだよ。初心者ならやり方を間違ってるだけ。
904デフォルトの名無しさん
2019/01/21(月) 01:17:37.84ID:WT3LElYg 挙動を統一したいならCanvasでやれ
そういうフレームワークも増えてきてる
そういうフレームワークも増えてきてる
905デフォルトの名無しさん
2019/01/21(月) 05:38:32.19ID:VYjLMLtx906デフォルトの名無しさん
2019/01/21(月) 07:58:41.38ID:vkfJXJ7K カード型みたいにボックスの中に画像、タイトル、アイコン、とかいろんな要素があって
そのカードがボタンの役割をしているならdivでもいいんじゃないの?
むしろbuttonタグの中にdivやらspanやら、iとかいろいろ要素ぶっ込むものなのかね?
そのカードがボタンの役割をしているならdivでもいいんじゃないの?
むしろbuttonタグの中にdivやらspanやら、iとかいろいろ要素ぶっ込むものなのかね?
907デフォルトの名無しさん
2019/01/21(月) 08:15:29.19ID:ubpSrO6v ieがdivのクリックイベントを拾わない…?
908デフォルトの名無しさん
2019/01/21(月) 08:30:56.83ID:8RTHI8s9 >>899
UIだけなら、CSSでボタンライクではないようにも変更できるわけでdiv要素を使う理由はない
UIだけなら、CSSでボタンライクではないようにも変更できるわけでdiv要素を使う理由はない
909デフォルトの名無しさん
2019/01/21(月) 09:28:46.72ID:63p0KSKR >>907
Enterキー押下時のclickイベント拾わない話じゃねーかとエスパーしてみる
それは他のブラウザでも同じなので、keydownイベント拾ってEnterキーだけ抽出してclickイベント時と同じ挙動をさせるしかないよね
shift/alt/meta/ctrlキー同時押しはもちろん排除するとしてさ
Enterキー押下時のclickイベント拾わない話じゃねーかとエスパーしてみる
それは他のブラウザでも同じなので、keydownイベント拾ってEnterキーだけ抽出してclickイベント時と同じ挙動をさせるしかないよね
shift/alt/meta/ctrlキー同時押しはもちろん排除するとしてさ
910デフォルトの名無しさん
2019/01/21(月) 12:48:28.69ID:DT8npDQe911デフォルトの名無しさん
2019/01/21(月) 14:19:25.15ID:PNnv4t9U javascriptでreplaceを用いた特定の文字の置換ができないです。
// サーバーからデータを受信したとき
function onReceive(data) {
let json = JSON.parse(data);
let messages = document.getElementById('chat');
let li = document.createElement('li');
if(json.text == 'おい'){
json.text = 'オイオイオイ'
}
// JSONから必要なデータを取り出して、テキストにする
li.innerHTML = json.count + ":" + "<span style='color:green'><big><b>ななしさん</b></big></span>" + "ID:" + socket.id + "<BR>" + json.text;
// 画面に要素を追加する
messages.appendChild(li);
}
これがソースコードの一部です。
このソースコードで、「おい」と打ったら「オイオイオイ」と返ってくるのですが、
「あいうおいえお」と打ったら「あいうおいえお」と返ってきます。
本当は「あいうオイオイオイえお」と返ってきてほしいです。
// サーバーからデータを受信したとき
function onReceive(data) {
let json = JSON.parse(data);
let messages = document.getElementById('chat');
let li = document.createElement('li');
if(json.text == 'おい'){
json.text = 'オイオイオイ'
}
// JSONから必要なデータを取り出して、テキストにする
li.innerHTML = json.count + ":" + "<span style='color:green'><big><b>ななしさん</b></big></span>" + "ID:" + socket.id + "<BR>" + json.text;
// 画面に要素を追加する
messages.appendChild(li);
}
これがソースコードの一部です。
このソースコードで、「おい」と打ったら「オイオイオイ」と返ってくるのですが、
「あいうおいえお」と打ったら「あいうおいえお」と返ってきます。
本当は「あいうオイオイオイえお」と返ってきてほしいです。
912デフォルトの名無しさん
2019/01/21(月) 14:23:43.50ID:DqxQvGU+ replace使ってないから
913デフォルトの名無しさん
2019/01/21(月) 14:27:21.86ID:PNnv4t9U if(json.text == 'おい'){
json.text = 'オイオイオイ'
}
上記の部分を
json.text.replace('おい','オイオイオイ')
にしたら何も表示されなくなってしまいました。
json.text = 'オイオイオイ'
}
上記の部分を
json.text.replace('おい','オイオイオイ')
にしたら何も表示されなくなってしまいました。
914デフォルトの名無しさん
2019/01/21(月) 14:31:42.02ID:DqxQvGU+915デフォルトの名無しさん
2019/01/21(月) 14:39:13.61ID:PNnv4t9U916デフォルトの名無しさん
2019/01/21(月) 14:40:34.76ID:PNnv4t9U917デフォルトの名無しさん
2019/01/21(月) 14:45:16.85ID:DqxQvGU+ replaceってヒントを貰ってるんだから、replaceについて調べればいいだけ
918デフォルトの名無しさん
2019/01/21(月) 16:01:51.07ID:PNnv4t9U919デフォルトの名無しさん
2019/01/21(月) 16:05:59.24ID:DqxQvGU+ 無能ってすぐ人に答えを求めるよな
https://medaka.5ch.net/test/read.cgi/prog/1540885252/
やっぱり俺って有能なんだなあ
すぐ人に答えを求めたりしないしな
https://medaka.5ch.net/test/read.cgi/prog/1540885252/
やっぱり俺って有能なんだなあ
すぐ人に答えを求めたりしないしな
920デフォルトの名無しさん
2019/01/21(月) 17:34:06.91ID:UEk4ntQa # 詳しい人、知恵を貸してくれ。
div1 = document.createElement("div")、document.body.appendChild(div1)
として、div1 の style の position を absolute や fixed として、
style.top, style.left に座標を指定しても、以下のような affiliate がある場合、
newBox の margin の 100px と全く同じだけ、div1 の位置が下に下がってしまう。
仕様上は、position:absolute は、親要素であるところの body 要素の左上の点からの
相対位置で指定されるはずなのに、なぜだろう?
自分の理解では、以下の affiliate は、div1 などのもっとも年上の兄弟として
追加されるだけだから、div1 の位置には影響を与えないと思うんだが。
var func = function(){
var parent = document.getElementsByTagName("body")[0];
var newBox = document.createElement("div");
newBox.setAttribute('id', 'vdbanner');
newBox.setAttribute("style","display:block!important;position:relative!important;top:0!important;left:0!important;margin:100px 0 !important;padding:0!important;text-align:center!important;");
newBox.innerHTML = "広告内容";
parent.insertBefore(newBox, parent.firstChild);
}
try {
window.addEventListener("load", func, false);
}
catch(e) {
window.attachEvent("onload", func);
}
div1 = document.createElement("div")、document.body.appendChild(div1)
として、div1 の style の position を absolute や fixed として、
style.top, style.left に座標を指定しても、以下のような affiliate がある場合、
newBox の margin の 100px と全く同じだけ、div1 の位置が下に下がってしまう。
仕様上は、position:absolute は、親要素であるところの body 要素の左上の点からの
相対位置で指定されるはずなのに、なぜだろう?
自分の理解では、以下の affiliate は、div1 などのもっとも年上の兄弟として
追加されるだけだから、div1 の位置には影響を与えないと思うんだが。
var func = function(){
var parent = document.getElementsByTagName("body")[0];
var newBox = document.createElement("div");
newBox.setAttribute('id', 'vdbanner');
newBox.setAttribute("style","display:block!important;position:relative!important;top:0!important;left:0!important;margin:100px 0 !important;padding:0!important;text-align:center!important;");
newBox.innerHTML = "広告内容";
parent.insertBefore(newBox, parent.firstChild);
}
try {
window.addEventListener("load", func, false);
}
catch(e) {
window.attachEvent("onload", func);
}
921デフォルトの名無しさん
2019/01/21(月) 17:53:37.90ID:DqxQvGU+ 長ったらしいので翻訳。まずimportant;は使うな
#vdbanner {
display: block !important;
position: relative !important;
top: 0 !important;
left: 0 !important;
margin: 100px 0 !important;
padding: 0 !important;
text-align: center !important;
}
$(function() {
$("<div/>", {id: 'vdbanner', text: '広告内容'}).prependTo('body');
});
#vdbanner {
display: block !important;
position: relative !important;
top: 0 !important;
left: 0 !important;
margin: 100px 0 !important;
padding: 0 !important;
text-align: center !important;
}
$(function() {
$("<div/>", {id: 'vdbanner', text: '広告内容'}).prependTo('body');
});
922デフォルトの名無しさん
2019/01/21(月) 17:59:05.34ID:PNnv4t9U できたぞ、質問に答えられないバカ
var result = json.text
for(var i=0;i<json.text.length;i++){
if(json.text[i] == 'お' && json.text[i+1]=='い'){
var tagetString = json.text;
var reString = /おい/gi; // 複数を置換する時は"g"を、
// 大文字/小文字の区別をしない場合には"i"を指定します。
var repStrung = "オイオイオイ";
result = tagetString.replace(reString, repStrung);
}
}
じゃあな無能
var result = json.text
for(var i=0;i<json.text.length;i++){
if(json.text[i] == 'お' && json.text[i+1]=='い'){
var tagetString = json.text;
var reString = /おい/gi; // 複数を置換する時は"g"を、
// 大文字/小文字の区別をしない場合には"i"を指定します。
var repStrung = "オイオイオイ";
result = tagetString.replace(reString, repStrung);
}
}
じゃあな無能
923デフォルトの名無しさん
2019/01/21(月) 18:04:30.32ID:DqxQvGU+ 一行で書けるけど、じゃあなって言われたな。じゃあなwwww
924デフォルトの名無しさん
2019/01/21(月) 18:29:08.32ID:mEBdwP2z >>899
ボタン部分だけのクリックじゃなくて、
もう少し範囲を広くして、ボタンを含む、div で、クリックイベントを動作させたいのかね?
ボタン部分だけだと、範囲が狭くて、うまく押せない人がいるから
それと投稿者は、次に投稿する際に、名前欄に最初の投稿のレス番号を入れてくれ
ボタン部分だけのクリックじゃなくて、
もう少し範囲を広くして、ボタンを含む、div で、クリックイベントを動作させたいのかね?
ボタン部分だけだと、範囲が狭くて、うまく押せない人がいるから
それと投稿者は、次に投稿する際に、名前欄に最初の投稿のレス番号を入れてくれ
925デフォルトの名無しさん
2019/01/21(月) 18:34:04.07ID:mEBdwP2z926デフォルトの名無しさん
2019/01/21(月) 18:36:35.58ID:mEBdwP2z >>920
web の質問は、こちらの板ではなく、web制作管理板の方へ書き込んでください!
web の質問は、こちらの板ではなく、web制作管理板の方へ書き込んでください!
927デフォルトの名無しさん
2019/01/21(月) 18:37:59.67ID:/g0A2C06 >>922 は酷いコードだなあ
928デフォルトの名無しさん
2019/01/21(月) 18:53:53.44ID:UEk4ntQa929デフォルトの名無しさん
2019/01/21(月) 18:59:45.68ID:x6DE2oRu930デフォルトの名無しさん
2019/01/21(月) 19:03:58.42ID:UOzXXkDM >>922
var result = json.text.replace('おい', 'オイオイオイ')
var result = json.text.replace('おい', 'オイオイオイ')
931デフォルトの名無しさん
2019/01/21(月) 22:12:37.48ID:XPYcyOEd >>930
それを複数個作るとエラーが出るんです。
それを複数個作るとエラーが出るんです。
932デフォルトの名無しさん
2019/01/21(月) 22:20:46.95ID:UOzXXkDM >>931
var result = json.text.replace(/おい/g, 'オイオイオイ')
var result = json.text.replace(/おい/g, 'オイオイオイ')
933デフォルトの名無しさん
2019/01/21(月) 23:50:10.62ID:30QJt/vt ES6で新たに導入された式や文は
ES5.1の構文糖衣と考えて良いの?
ES5.1の構文糖衣と考えて良いの?
934デフォルトの名無しさん
2019/01/21(月) 23:51:40.65ID:DqxQvGU+ 「ES5.1の構文糖衣」という表現がおかしい
935デフォルトの名無しさん
2019/01/22(火) 06:53:00.52ID:dHPHLM6Z Class構文は再現できないので糖衣構文ではない
936デフォルトの名無しさん
2019/01/22(火) 09:26:06.80ID:QhWv4dIw >>935
> ECMAScript 2015 で導入された JavaScript クラスは、
> JavaScript にすでにあるプロトタイプベース継承の糖衣構文です。
> クラス構文は、新しいオブジェクト指向継承モデルを JavaScript に導入しているわけではありません。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
> ECMAScript 2015 で導入された JavaScript クラスは、
> JavaScript にすでにあるプロトタイプベース継承の糖衣構文です。
> クラス構文は、新しいオブジェクト指向継承モデルを JavaScript に導入しているわけではありません。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
937デフォルトの名無しさん
2019/01/22(火) 09:32:15.42ID:zKxMKaTe クラス構文だと関数で呼べないから違うものを導入してるよね
938デフォルトの名無しさん
2019/01/22(火) 10:20:50.82ID:SJtsjRub 糖衣構文かどうかにこだわるのってなんでだろう?
マウント取りたいだけな気がする
マウント取りたいだけな気がする
939デフォルトの名無しさん
2019/01/22(火) 12:50:28.60ID:RZTSN9tm940デフォルトの名無しさん
2019/01/22(火) 14:53:55.47ID:SJtsjRub なんかそもそも糖衣構文という言葉をわかってないやつがいるみたいだ
糖衣構文の条件
× ECMAScript 2015で書いたのと同等のことを、ES5で(複雑に)書けること
○ ES5で書いたのと同等のことを、ECMAScript 2015で(シンプルに)書けること
>>939
お前変換の向きが逆
糖衣構文の条件
× ECMAScript 2015で書いたのと同等のことを、ES5で(複雑に)書けること
○ ES5で書いたのと同等のことを、ECMAScript 2015で(シンプルに)書けること
>>939
お前変換の向きが逆
941デフォルトの名無しさん
2019/01/22(火) 15:28:28.10ID:RZTSN9tm それは絶対に違うね
新しい構文というのは問題を新しく解決する為に入れられるわけで
古いコードで書いてたコードがシンプルに書けるようになるものでない方が珍しい
そんな事を語っても仕方がない
古いコードで再現できるかどうかの方が意味がある
新しい構文というのは問題を新しく解決する為に入れられるわけで
古いコードで書いてたコードがシンプルに書けるようになるものでない方が珍しい
そんな事を語っても仕方がない
古いコードで再現できるかどうかの方が意味がある
942デフォルトの名無しさん
2019/01/22(火) 16:20:43.54ID:SJtsjRub また意味不明な
新しい構文の中で従来では複雑な書き方だったものを
シンプルに書けるようにしたものを特別に糖衣構文とよぶんだろ
誰が新しい構文はすべて糖衣構文って言ったんだ?
誰も言ってないだろ
新しい構文の中で従来では複雑な書き方だったものを
シンプルに書けるようにしたものを特別に糖衣構文とよぶんだろ
誰が新しい構文はすべて糖衣構文って言ったんだ?
誰も言ってないだろ
943デフォルトの名無しさん
2019/01/22(火) 18:15:41.76ID:ADfWWjFL シンタックスシュガーがあるならシンタックスヌガーとかシンタックスハニーがあってもおかしくないよね
944デフォルトの名無しさん
2019/01/22(火) 18:31:09.00ID:bOf9tfZi シンタクティックシュガーな。
945デフォルトの名無しさん
2019/01/22(火) 19:07:04.65ID:dHPHLM6Z >>942
度合いの問題だ
「ほぼシンプルに書けるようにすることが目的で導入されたもの」を糖衣構文と呼ぶのは分かる
ほかの要素を無視できるという意味での「ほぼ」だ
そうするとそのほぼというのは例えば感覚で8割〜9割としよう
しかしClass構文でのその目的、重要度はせいぜい6〜7割だということを言ってる
Class構文は従来__proto__を使わないとできなかったスタティックとプロトタイプメソッド両方の継承ということができる
これが俺にとって重要度・構文価値の〜1/10
さらにnewTargetの存在によりビルトインクラスの継承ができるようになった
これが俺にとって重要度・構文価値の〜3/10
少なくともこういう要素はClass構文を語る上で無視できる存在ではないだろう?
そうすると一般にClass構文は糖衣構文ということはできないというのが俺の主張だ
なのでそう言いたいのならコンテキストを絞った上で言わなければいけない
今回の場合も、もし「ES6で新たに導入された式や文は ES5.1の構文糖衣と考えて良い」と答えると
そういうClass構文などの無視できない重要なポイントを気にしていない、
下手すると気にしなくていいという発言になってしまうだろう?
君はそこを取るに足らないポイントだと考えるから、そう言えるんだろうが、
俺は>>933にそこももっと知っておいてほしい、説明したいと思うんだよ
そういう違いさ
度合いの問題だ
「ほぼシンプルに書けるようにすることが目的で導入されたもの」を糖衣構文と呼ぶのは分かる
ほかの要素を無視できるという意味での「ほぼ」だ
そうするとそのほぼというのは例えば感覚で8割〜9割としよう
しかしClass構文でのその目的、重要度はせいぜい6〜7割だということを言ってる
Class構文は従来__proto__を使わないとできなかったスタティックとプロトタイプメソッド両方の継承ということができる
これが俺にとって重要度・構文価値の〜1/10
さらにnewTargetの存在によりビルトインクラスの継承ができるようになった
これが俺にとって重要度・構文価値の〜3/10
少なくともこういう要素はClass構文を語る上で無視できる存在ではないだろう?
そうすると一般にClass構文は糖衣構文ということはできないというのが俺の主張だ
なのでそう言いたいのならコンテキストを絞った上で言わなければいけない
今回の場合も、もし「ES6で新たに導入された式や文は ES5.1の構文糖衣と考えて良い」と答えると
そういうClass構文などの無視できない重要なポイントを気にしていない、
下手すると気にしなくていいという発言になってしまうだろう?
君はそこを取るに足らないポイントだと考えるから、そう言えるんだろうが、
俺は>>933にそこももっと知っておいてほしい、説明したいと思うんだよ
そういう違いさ
946デフォルトの名無しさん
2019/01/22(火) 19:14:29.74ID:yOIcAU/3947デフォルトの名無しさん
2019/01/22(火) 19:19:26.12ID:yOIcAU/3 そして+αの部分がclassでしか使えないのかといえばそうではなく
classを使わなくても、+αの機能は使えるから
やっぱりclassは糖衣構文
classを使わなくても、+αの機能は使えるから
やっぱりclassは糖衣構文
948デフォルトの名無しさん
2019/01/22(火) 19:33:50.03ID:dHPHLM6Z >>947
Class構文のES5で代替不可能な機能はES6の他のより基本的な機能で代替可能だから、
ES6も入れたら糖衣構文と言ってもいいよ
でも今回はそうじゃないから
ES6の機能が、従来のES5の機能の糖衣構文と言えるかという話だから
その辺り俺は言葉に慎重だが、君は適当
そういう違いさ
Class構文のES5で代替不可能な機能はES6の他のより基本的な機能で代替可能だから、
ES6も入れたら糖衣構文と言ってもいいよ
でも今回はそうじゃないから
ES6の機能が、従来のES5の機能の糖衣構文と言えるかという話だから
その辺り俺は言葉に慎重だが、君は適当
そういう違いさ
949デフォルトの名無しさん
2019/01/22(火) 19:34:52.68ID:hY3Lw6Bc 糖衣構文の反対はキムチ構文って呼ぶってことで
この話題終わりにしませんか?
この話題終わりにしませんか?
950デフォルトの名無しさん
2019/01/22(火) 19:38:42.19ID:dHPHLM6Z951デフォルトの名無しさん
2019/01/22(火) 19:41:39.36ID:ClMLgqLU 言葉に慎重なら糖衣構文っていう和訳も微妙
952デフォルトの名無しさん
2019/01/22(火) 19:54:31.00ID:bOf9tfZi 構文的砂糖
953デフォルトの名無しさん
2019/01/22(火) 20:06:22.32ID:YQBTnTrr954デフォルトの名無しさん
2019/01/22(火) 20:16:41.69ID:YQBTnTrr955デフォルトの名無しさん
2019/01/22(火) 22:05:19.77ID:4TOwjU0o 話変わるけどジェネレーターは糖衣構文じゃないよねさすがに。
956デフォルトの名無しさん
2019/01/22(火) 22:38:28.82ID:dHPHLM6Z >>953,954
意味不明なのはあんただ
俺は0.999だからNoとか0.001だからYesとか言うのは嫌いだし
そういう0か1かで糖衣構文「であるのかどうか」を話す気はない
たとえちょっと変な表現であろうと、今回の話の流れの上で糖衣構文「と呼んだほうが良いか」を
アナログ的に考えて、俺なりの想いを持って方が良い、悪いと話している
また俺はClass限定の話を始めたわけではない
わかりやすい一例としてまずClassでの事実を1つ挙げただけ
そこから質問者が食いつけばClass構文が入ることによる新たな可能性を話すつもりだったのに
変におかしな流れに誘導したのは君の方だよ
少なくとも俺は>>933を俺なりに解釈して話を始めた
そこで君が横から言葉の使い方がどうのこうのヤンヤン言って来ても知らんがなって感じ
君の脳内パーサではエラーが出たんだろうが、それをエラーですエラーですエラーですよって、うるさい目覚まし時計かって感じ
俺のゆるゆるパーサでは通ったんだから俺は話を進める、君は固まっとく、でいいじゃないか
俺までどうにかして止めようとする必要はない、俺はそういうのは嫌いだね
JSでも値をチェックして例外を吐くとかね
値をできるだけ加工したり用意の仕方を工夫して無効な値を極力作らないようにする方が俺は好きだ
ともかく君の定義ではそもそも話がおかしいのはおっしゃる通り
だからこそ俺はその定義は今回はそぐわないとしてるところに、わざわざその破綻する定義を持ってきて
ギーギーガーガーおかしいおかしい言われても しつこいポンコツ機械かよって感じ
まあそんな感じ
意味不明なのはあんただ
俺は0.999だからNoとか0.001だからYesとか言うのは嫌いだし
そういう0か1かで糖衣構文「であるのかどうか」を話す気はない
たとえちょっと変な表現であろうと、今回の話の流れの上で糖衣構文「と呼んだほうが良いか」を
アナログ的に考えて、俺なりの想いを持って方が良い、悪いと話している
また俺はClass限定の話を始めたわけではない
わかりやすい一例としてまずClassでの事実を1つ挙げただけ
そこから質問者が食いつけばClass構文が入ることによる新たな可能性を話すつもりだったのに
変におかしな流れに誘導したのは君の方だよ
少なくとも俺は>>933を俺なりに解釈して話を始めた
そこで君が横から言葉の使い方がどうのこうのヤンヤン言って来ても知らんがなって感じ
君の脳内パーサではエラーが出たんだろうが、それをエラーですエラーですエラーですよって、うるさい目覚まし時計かって感じ
俺のゆるゆるパーサでは通ったんだから俺は話を進める、君は固まっとく、でいいじゃないか
俺までどうにかして止めようとする必要はない、俺はそういうのは嫌いだね
JSでも値をチェックして例外を吐くとかね
値をできるだけ加工したり用意の仕方を工夫して無効な値を極力作らないようにする方が俺は好きだ
ともかく君の定義ではそもそも話がおかしいのはおっしゃる通り
だからこそ俺はその定義は今回はそぐわないとしてるところに、わざわざその破綻する定義を持ってきて
ギーギーガーガーおかしいおかしい言われても しつこいポンコツ機械かよって感じ
まあそんな感じ
957デフォルトの名無しさん
2019/01/22(火) 23:13:06.23ID:YQBTnTrr958デフォルトの名無しさん
2019/01/22(火) 23:13:38.81ID:XoIF472X 頭イカれてるエンジニアによくある回答
959デフォルトの名無しさん
2019/01/22(火) 23:25:49.01ID:k+Ga/jCN 糖衣構文+αじゃなくて、完璧に糖衣構文でしょ
糖衣構文+αだったら糖衣構文とは言わないよ
糖衣構文+αだったら糖衣構文とは言わないよ
960デフォルトの名無しさん
2019/01/22(火) 23:28:26.41ID:IcipLgKo 糖衣構文か否かの議論の果てにどんな結論があるんだろ
961デフォルトの名無しさん
2019/01/22(火) 23:30:12.08ID:Rn6qecVY >>959
同意
同意
962デフォルトの名無しさん
2019/01/22(火) 23:46:44.98ID:5TeSwszl var flagA = false && true || true;
変数flagAがtrueとなるのは、
false && trueがfalseになって、
false || true
true
となるからだと思うのですが、
ひとつ目がfalseなのに何故ショートサーキット評価されないのでしょうか。
最初に末尾まで見てて、&&の後ろがひとつの論理式である時だけショートサーキット評価されるってことですか。
あと、
var flagB = true || false && false;
flagBがtrueになるのは何故ですか。
true || falseがtrueになって、
true && false
false
になると思うんですが。
変数flagAがtrueとなるのは、
false && trueがfalseになって、
false || true
true
となるからだと思うのですが、
ひとつ目がfalseなのに何故ショートサーキット評価されないのでしょうか。
最初に末尾まで見てて、&&の後ろがひとつの論理式である時だけショートサーキット評価されるってことですか。
あと、
var flagB = true || false && false;
flagBがtrueになるのは何故ですか。
true || falseがtrueになって、
true && false
false
になると思うんですが。
963デフォルトの名無しさん
2019/01/23(水) 00:10:25.21ID:djVGMpuO >>959
いうだろ?
ES5で書いたものをclassで完璧に書けるんだぜ?
追加効果があったとしても関係ないだろ
それにそもそも糖衣構文って完全に同じものを
実現しなくてはいけないなんて制限はないんだが?
ほぼすべての糖衣構文はある機能に特化することでより便利にしているが
その反面あるきのう以外のことができなくなってる
他のどんなものが糖衣構文と呼ばれてるか考えてみなよ
糖衣構文という言葉に惑わされてるだけだろ
いうだろ?
ES5で書いたものをclassで完璧に書けるんだぜ?
追加効果があったとしても関係ないだろ
それにそもそも糖衣構文って完全に同じものを
実現しなくてはいけないなんて制限はないんだが?
ほぼすべての糖衣構文はある機能に特化することでより便利にしているが
その反面あるきのう以外のことができなくなってる
他のどんなものが糖衣構文と呼ばれてるか考えてみなよ
糖衣構文という言葉に惑わされてるだけだろ
964デフォルトの名無しさん
2019/01/23(水) 00:11:52.34ID:djVGMpuOレス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【芸能】「女性も嫌がってなかった、喜んでた」 石橋貴明を“擁護”する木下博勝氏に「性加害者の思考」の指摘 [冬月記者★]
- 加速する若者の「献血」離れ ★2 [ぐれ★]
- 首相、就職氷河期世代の支援表明 週内に関係閣僚会議設置 ★4 [どどん★]
- 【埼玉】「山岳部の生徒が滑落した」県立高の女子生徒が約100m滑落…意識不明で救急搬送 秩父市の御岳山で部活動中 [ぐれ★]
- 【FC】クリアできんの…?《難しすぎたファミコンソフト》TOP10! 3位魔界村、2位ドラクエII、1位は伝説の? [湛然★]
- 【自民】小泉氏 物価高対策 “現金給付や減税含む負担軽減策を” [ぐれ★]
- 【実況】博衣こよりのえちえちRUST🧪 5
- 【実況】博衣こよりのえちえちRUST🧪 6
- 日本人の大学生、ほぼ Mac Book を購入してしまう…「プログラミングを学ぶのに必要だから」と回答 [249548894]
- 次期総裁を狙うコバホーク「防衛費GDP比2%では不十分。もっと予算増やそう」 [281145569]
- 俺「こっちが安いかなぁ」安倍精神三「まぁいいじゃんそういうの」俺「よくないですよ」安倍精神三「大げさだよ」 [941632843]
- 三三👊😅👊💥🏡💥👊😅👊三三