[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
533: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)15:02 ID:EVXeoiyo0(8/10) AAS
うん。「リテラル」ということばによって惑わされてきた気がする。
534
(1): (アウアウウー Sa6b-y47Y [106.155.3.231]) 2023/01/05(木)15:06 ID:akcN5qw4a(1) AAS
関数リテラルは関数として評価可能な右辺値と考えておけばまあいいんじゃないの
正確な定義は構文木の定義を見れば書いてある
535: (オッペケ Sr4f-JZbg [126.208.232.21]) 2023/01/05(木)15:10 ID:HxGsZjLmr(1) AAS
>>531
1だろう
let s = "abc";
の"abc"を文字列リテラルと呼ぶけどそれを代入した変数sを
文字列リテラルとは呼ばないでしょ
536: (オッペケ Sr4f-JZbg [126.208.238.17]) 2023/01/05(木)15:28 ID:c7qQflpDr(1) AAS
>>531
で、繰り返しになるけど本やサイトによっても説明がまちまちで
MDN探しても出てこないような用語だからあまり囚われない方がいい
理解しようとして時間をかけるだけ無駄
537: (ワッチョイ 9f63-uhAF [180.58.213.164]) 2023/01/05(木)15:35 ID:m3Sm+5EJ0(1) AAS
>>531
強いて言えば1かな
でも数値・文字列・正規表現リテラルみたいにプログラム中に単独で書くことは出来ないね
変数に代入するなり関数の引数に使うなりしないとエラーになる
英語でもfunction literalっていうみたいだけど関数リテラルってあんまりいい言葉だと思わないなあ

33;
"hello";
省3
538: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)15:38 ID:EVXeoiyo0(9/10) AAS
あ。
誤解していたところがとけました。
当初は「2」かと妄信していたので、
だいぶ合点がとれました。
関数リテラルが無名関数と同義という説明も
いやそうではないという説明も
すっきりしました。
省2
539: (ワッチョイ 66db-TwI4 [217.178.96.73]) 2023/01/05(木)19:28 ID:j61eMuZ00(1) AAS
>>511
技術評論社のjQuery本格入門はものすごく読みづらかった。
もっと分かり易い言葉で解説して欲しかった。
540: (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/05(木)20:02 ID:EVXeoiyo0(10/10) AAS
>>534
>関数リテラルは関数として評価可能な右辺値と考えておけばまあいいんじゃない

この発想というか常識が無かったなあ。
541
(2): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)20:55 ID:XhDooIHVH(1/7) AAS
>>531
自分もあまりJS詳しくないんですけど
リテラルっていうのは、括るもの、という意味合いでは?
オブジェクトリテラルっていうのは波かっこで括るオブジェクト={}
文字列のリテラルは、""や’’
展開のリテラルは、``とか
関数のリテラルというのは、functionを指定した引数括弧つきのオブジェクトリテラルでfunction(){}
省6
542: (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)21:01 ID:XhDooIHVH(2/7) AAS
>>531
解決済みだったようですみませんでした
参考までに追加

function func(){return 1}
とした場合
console.log(func)

省4
543
(1): (オッペケ Sr4f-JZbg [126.208.231.97]) 2023/01/05(木)21:40 ID:n/EqvkXYr(1/3) AAS
>>541
JavaScriptのリテラルに関してはまず下記を読んでください
括ってあればリテラルというわけではないです
外部リンク:developer.mozilla.org
544
(2): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)22:26 ID:XhDooIHVH(3/7) AAS
>>543
括る、というのはそういう意味かと
リテラルはリテラルなので括る必要はなくて
プリミティブは、これは文字列です、
これは配列です、
これはオブジェクトです
とエンジンに理解させるための記述なのかと思いまして
545: (ワッチョイ a62d-IQJE [121.102.19.45]) 2023/01/05(木)22:39 ID:scsW7zY90(1) AAS
リテラルはベた書きで良かろう
546: (オッペケ Sr4f-JZbg [126.208.231.97]) 2023/01/05(木)22:41 ID:n/EqvkXYr(2/3) AAS
>>544
申し訳ないけど全体的に文意が取れません
1行目の「そういう意味」は何を指してますか?
547
(1): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)22:57 ID:XhDooIHVH(4/7) AAS
括ることで、エンジンに対して、これは配列オブジェクトだよとか
これは{}だよとか、これは文字列だよとか、そういうことを伝えているってことですけど
548
(1): (ワッチョイ 8201-+uJR [219.204.123.70]) 2023/01/05(木)22:59 ID:O+NRT3S+0(2/3) AAS
>>541 > リテラルっていうのは、括るもの、という意味合いでは?
>>544 > リテラルはリテラルなので括る必要はなくて
自分で何書いてるのか理解できてる?
549: (ワッチョイ 8201-+uJR [219.204.123.70]) 2023/01/05(木)23:00 ID:O+NRT3S+0(3/3) AAS
>>547
数値リテラル
550: (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)23:12 ID:XhDooIHVH(5/7) AAS
<<538
諄いですね
正しい理論的な話あればご披露ください

JSの処理エンジンに、どういう記述があれば
どう処理するかというのがあるでしょ
{}とう記述を読めば、オブジェクトなのだな、と
””ならもじれるなのかなと、
省7
551: (ワッチョイ 9fcf-/EFQ [180.14.48.253]) 2023/01/05(木)23:17 ID:/79BsoYR0(1) AAS
一から教えるにはここじゃスペースが足りないからまず入門書一冊買って読め。
552: (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)23:20 ID:XhDooIHVH(6/7) AAS
先生、ありがとうござす
時間とれましたら勉強してみます、ありがとうです
553: (オッペケ Sr4f-JZbg [126.208.231.97]) 2023/01/05(木)23:20 ID:n/EqvkXYr(3/3) AAS
中途半端に字句解析、構文解析の話になってるのか・・・
誰もそんなレベルの話はしてないのに
554: (スプッッ Sdc2-DLel [1.75.213.141]) 2023/01/05(木)23:28 ID:V3WBk68sd(1) AAS
誤変換の多さと言い意味の通ってなさと言い酔っ払ってるとしか思えんなw
555: (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/05(木)23:34 ID:XhDooIHVH(7/7) AAS
すみませんでした、もっと勉強します
556: (オッペケ Sr4f-JZbg [126.204.227.44]) 2023/01/06(金)12:07 ID:ipvOzmbWr(1) AAS
勉強しますの前にまず筋の通った主張を相手に分かるようにお願いします
>>548の指摘もそういうことだし
557: 538 (ワッチョイ 8202-9yt5 [27.92.176.51]) 2023/01/06(金)17:52 ID:AgA2i3Ln0(1) AAS
リテラルって文字列とか数値というイメージ
だから、

let dispMessage = function(msg){console.log(msg)}

っていう文があれば、関数リテラルならどうみても
左側の変数の文字列の事って思うじゃないですか。
右側はfunctionとか{}とか()とかあるので、
リテラルからかけ離れていると思ってました。
省2
558: (ブーイモ MMee-DakT [133.159.153.167]) 2023/01/06(金)21:33 ID:Ynt2iWE0M(1) AAS
リテラルはもともと「文字通りの」って意味
ソースに書いた内容が変数とかを介さずにそのまま1つの値として評価されるもの

括弧で括るとかの意味は全く無い
559
(2): (JP 0H4f-ChaJ [126.249.157.89]) 2023/01/06(金)22:25 ID:Th1PE0Z2H(1) AAS
リテラル

””や’’で表現されるのは文字列と評価する
[]は配列と評価する
{}はオブジェクトと評価する
JSエンジンがオブジェクトをどう評価して処理するかということだと思ったんですけど
何やら全く的外れなこと言ってたみたいですみませんでした
何度も謝ったのでもう許してください、鬼神様
560: (オッペケ Sr4f-JZbg [126.194.247.11]) 2023/01/06(金)23:10 ID:AlXqoCEJr(1) AAS
>>559
的外れなことを繰り返し書かなくていいから黙って>>502を読んでおいて
561
(1): (JP 0Hd3-DWwd [126.249.157.89]) 2023/01/07(土)08:36 ID:I26x6s3dH(1) AAS
時間があるときに読んでおきます
562: (ワッチョイ 8a74-+oQO [211.124.81.22]) 2023/01/07(土)11:56 ID:n88Tb37q0(1/2) AAS
>>561
いますぐ読みたまえ
563
(1): (アウアウウー Sa3f-03PQ [106.154.143.205]) 2023/01/07(土)12:11 ID:Oa/pj9jla(1/2) AAS
読めたら読みます
564: (ワッチョイ 8a74-+oQO [211.124.81.22]) 2023/01/07(土)12:11 ID:n88Tb37q0(2/2) AAS
>>563
読めなくても読むのだ
565: (スプッッ Sdea-pEag [1.75.238.210]) 2023/01/07(土)15:51 ID:zzWcN8NZd(1) AAS
>>559
わざわざもう1回書いたのは自分の中ではこれが正しいという思いが捨てられなくて
賛同してくれる人が現れないかと期待してってところか
566
(1): (ワッチョイ 9310-zDHW [180.12.82.129]) 2023/01/07(土)18:24 ID:2xit7B8+0(1/2) AAS
再帰関数についての質問

function test(){
処理1
test();
処理2
}
とした場合
省1
567
(1): (アウアウウー Sa3f-03PQ [106.154.143.205]) 2023/01/07(土)18:46 ID:Oa/pj9jla(2/2) AAS
いいえそれは処理1次第です
568: (ワッチョイ 9310-zDHW [180.12.82.129]) 2023/01/07(土)19:05 ID:2xit7B8+0(2/2) AAS
>>567
ありがとうございます
処理1はreturnや他関数への再帰はしないものとします
569: (ワッチョイ fecf-DSRP [153.174.224.39]) 2023/01/07(土)19:11 ID:GmV1yQnL0(1) AAS
最大の再帰の深さは JavaScript エンジンによって制限されていて
その範囲内で終了条件を満たすように作る必要があります
でなければエラー終了するので、無限再帰は有り得ません
570
(1): (ワッチョイ 6a7c-Or7w [43.235.241.201]) 2023/01/07(土)21:33 ID:YilgzCe20(1) AAS
そもそも永久に再帰は無理なのを理解していないのか?
それと何故再帰を使うのかという理由が全く分からん
571: (ワッチョイ aa02-DSRP [59.138.123.33]) 2023/01/08(日)01:51 ID:uPZeFpc/0(1) AAS
まあ普通は無限ループだな
わざわざ再帰にしなければいけない
理由が何かだな
572: (ワッチョイ 7b79-Jp3v [220.150.90.192]) 2023/01/08(日)01:53 ID:FOdy7Dic0(1/2) AAS
末尾再帰最適化が保証されている言語では特定条件を満たせばさもループの代替として使えるが
javascriptではそうはならなかった
以上
573: (ブーイモ MM4a-mEot [49.239.64.156]) 2023/01/08(日)01:53 ID:gpkzwVQsM(1/2) AAS
末尾最適化されてれば無限ループ可能でしょ?
ES2015で末尾最適化の仕様化されたけど適合してない実装が多いというだけ
574: (ブーイモ MM4a-mEot [49.239.64.156]) 2023/01/08(日)01:54 ID:gpkzwVQsM(2/2) AAS
ありゃ被ったか
575: (ワッチョイ 7b79-Jp3v [220.150.90.192]) 2023/01/08(日)02:24 ID:FOdy7Dic0(2/2) AAS
規格があっても準拠するかどうかは実装次第というね
ちなみにjavascriptは関数がファーストクラスでレキシカルスコープを持つためいわゆるクロージャを無意識に生成できる
クロージャがあれば末尾再帰できないからと不自由に感じることはないと思われる
576
(2): (ワッチョイ 9310-zDHW [180.12.82.129]) 2023/01/08(日)17:51 ID:TObCTh0j0(1) AAS
>>570
@supportsや@mediaのネストされたcssの全プロパティ値を取得するために
再帰使いたかった
577: (ワッチョイ db01-9cRY [60.69.179.40]) 2023/01/09(月)07:24 ID:Bl4X3MiM0(1) AAS
>>576
無限にネストすることはないはずだが
578: (オッペケ Srd3-HOhV [126.208.230.4]) 2023/01/09(月)12:44 ID:mLvtK4oer(1) AAS
>>576を実現するにしても>>566にはならんと思うけども
579: (ワッチョイ 6a7c-Or7w [43.235.241.201]) 2023/01/09(月)13:34 ID:nBXeWSyT0(1) AAS
ホントになw
// aはarray
function test(a)
{
a.forEach( b => {
if (b.isArray()) {
test(b)
省4
580: (ワッチョイ 7b79-Jp3v [220.150.90.192]) 2023/01/09(月)15:00 ID:2yNmR2Eh0(1) AAS
ノードを全部舐めるみたいなトラバース系の処理はエンジンの制限とか気にするなら再帰のロジックを配列とループで作った方が安全だし
恐らく関数を呼び出すより速いから検討してみてね
581: (ワッチョイ 6305-S6ln [116.94.64.124]) 2023/01/14(土)18:28 ID:WRdKOG7o0(1/2) AAS
質問
scriptタグで指定されてるリンク先をjavascriptで変えたい
例えば. script type="text/javascript" src="A”
になってんのを
script type="text/javascript" src="B”に変えたい
replace等でやろうとしたものの上手くいかなかった
582
(1): (ワッチョイ 7f7c-f6s+ [43.235.241.201]) 2023/01/14(土)20:27 ID:Ww/QFSM20(1) AAS
ちょっとググったら出てくるやろw
外部リンク:www.softel.co.jp
583: (ワッチョイ 6305-S6ln [116.94.64.124]) 2023/01/14(土)23:08 ID:WRdKOG7o0(2/2) AAS
>>582
ありがとうございます…
本当に助かりました…
584: (アウアウウー Sac7-wtyD [106.146.97.205]) 2023/01/15(日)01:42 ID:k1TuDUU1a(1) AAS
確かに以下のように、jQuery で、script タグのsrc 属性を、
a.js から、b.js へ変えても、scriptタグが再読み込みされない

$("script[src='a.js']:first").each(function (index, elem) {
$(elem).attr('src', 'b.js');
});

新たなscriptタグを追加してから、元のscriptタグを削除すれば、読み込まれるかも
585: (ワッチョイ a361-1Ylv [222.144.108.11]) 2023/01/15(日)02:01 ID:iV9MAA6y0(1/3) AAS
読み込まれたスクリプト自体はscript要素消しても消えない事に注意
586
(1): (オイコラミネオ MMa7-+Atj [150.66.84.146]) 2023/01/15(日)13:53 ID:0IRxms8qM(1) AAS
ルーターのブロードステーションに電源を入れると
エッジブラウザが起動して自動的にブロードステーションのルーターのページが表示されます。
ブロードステーション関連のソフトウェアは一切インストールしていないにもかかわらずです。
これって動きだけ見ますとルータが勝手にこっちのpcを操作してるように見えるのですがどういう仕組みなんでしょうか?
ブラウザ(JavaScript)はページ内しか操作出来ない筈なんですが。
587
(3): (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]]) 2023/01/15(日)15:02 ID:yvxMece60(1/2) AAS
よろしくお願いします

【環境】Win11,Chrome
【何をしたのか】下記コードをHTMLファイルにしてchromeで読み込ませて、コンソールで見た
JSONのItemsを一個追加して、追加したageだけ書き換えたいが、両方書き換わる
【エラーメッセージ】エラーメッセージはない
【期待する結果】Itemsの2個めのageだけが40になるはず
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
省25
588
(1): (ワッチョイ cfcf-7DGa [153.174.224.39]) 2023/01/15(日)15:12 ID:XTiaoq8f0(1/2) AAS
>>587
そのコードで、参照がコピーされているので
data0={...json["Items"][0]}
とすればいい
589
(1): (ワッチョイ a361-1Ylv [222.144.108.11]) 2023/01/15(日)15:18 ID:iV9MAA6y0(2/3) AAS
>>587
外部リンク:developer.mozilla.org
590: (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]]) 2023/01/15(日)15:22 ID:yvxMece60(2/2) AAS
>>588,589
できましたありがとうございます。
591: (ワッチョイ cfcf-7DGa [153.174.224.39]) 2023/01/15(日)15:31 ID:XTiaoq8f0(2/2) AAS
この場合はこれで十分ですが
スプレッド構文はシャローコピーなので、
データがより複雑な構造の場合は、それなりの記述が必要です
592: (ワッチョイ a361-1Ylv [222.144.108.11]) 2023/01/15(日)15:40 ID:iV9MAA6y0(3/3) AAS
>>586
キャプティブポータルの検出機能が誤爆してるんじゃないかな
593
(1): (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]]) 2023/01/15(日)20:06 ID:7dUg93Xk0(1/2) AAS
mainfn()

function mainfn(){

pg1 = win1.pnl.add('group')
pg1.orientation = "row"
pg1.add("statictext", [0,0,70,23], "拡大・縮小")
rd11 = pg1.add("edittext", [0,0,40,23], 100)
pg1.add("statictext", [0,0,30,23], "%")
省16
594
(1): (オッペケ Sr67-2lig [126.208.238.32]) 2023/01/15(日)20:27 ID:Vv6s9YYpr(1) AAS
関数内でvarを付けずに宣言された変数はグローバルスコープになる
var rd11 = pg1.add("edittext", [0,0,40,23], 100)
とすると関数スコープになって外部からアクセスできなくなるはず
関数内での変数宣言はvar文で行うべきで
これを「楽」と思ってしまうのは危険
595
(1): (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]]) 2023/01/15(日)20:53 ID:7dUg93Xk0(2/2) AAS
>>594
ありがとうございます
非常に勉強になりました
596
(1): (オッペケ Sr67-2lig [126.208.230.75]) 2023/01/15(日)21:30 ID:YqyTW3mJr(1) AAS
>>595
'use strict'が効くならスクリプトの先頭行に書いとくといいよ
597
(3): 502 (ワッチョイ 8301-DQ2E [60.103.69.185]) 2023/01/15(日)23:28 ID:bMctduL80(1) AAS
>>593
それAdobe Illustratorかなにかで使うソースでしょ?
どういう環境で使うソースなのかは一言書いといた方がいいよ
598
(1): (アウアウウー Sac7-wtyD [106.133.104.22]) 2023/01/15(日)23:45 ID:r5uLxMWea(1) AAS
ES2015(ES6)以降は最低限、

変数宣言にはvar ではなく、let/const を付けよう
599: (ワッチョイ 8301-fAIW [60.69.179.40]) 2023/01/15(日)23:55 ID:cRCjJN100(1/3) AAS
>>597
この指摘は何度も見てるが、いつになっても改善されない
質問者にとっては直す気がない、どうでもいい問題なんだろうな…
600: (オッペケ Sr67-2lig [126.204.224.48]) 2023/01/15(日)23:55 ID:5X3ij1Yxr(1) AAS
>>598
このadobeのスクリプトはES3相当らしいのでvarを案内してるのよ

まあそもそもスレ違いだからID:7dUg93Xk0は今後adobeのフォーラムで質問するようにね
その方が我々も余計な労力を払わなくていいし君も的確な回答がもらえる
外部リンク:community.adobe.com
601: (ワッチョイ 8301-fAIW [60.69.179.40]) 2023/01/15(日)23:55 ID:cRCjJN100(2/3) AAS
>>597
この指摘は何度も見てるが、いつになっても改善されない
質問者にとっては直す気がない、どうでもいい問題なんだろうな…
602: (ワッチョイ 8301-fAIW [60.69.179.40]) 2023/01/15(日)23:57 ID:cRCjJN100(3/3) AAS
申し訳ない
投稿エラーで再投稿したら、二重投稿になってた
603: (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]]) 2023/01/16(月)01:46 ID:DS9XkUYq0(1/2) AAS
>>597
すみません
次から書きます
あまりillustratorに特化したことは質問しません
604
(1): (ワッチョイ 634b-mccM [110.2.215.28 [上級国民]]) 2023/01/16(月)01:51 ID:DS9XkUYq0(2/2) AAS
>>596
そういうのがあるんですね
知らなかったです
605: (オッペケ Sr67-2lig [126.208.227.98]) 2023/01/16(月)02:24 ID:SauNqkHgr(1) AAS
>>604
知った以上次からそちらにに行って質問してください
環境の説明も必要ないしillustratorに特化した質問もし放題だし良いことづくめですよ
606: (ワンミングク MM87-KwiO [114.150.17.128]) 2023/01/16(月)08:45 ID:Hbn6MJh3M(1) AAS
イラレ特化だからではなくてJavaScriptのバージョンの問題なんだけど
なんも書いてなければ最新のモダンブラウザのつもりでみんな考える
今JavaScriptのバージョンってES12くらいかね、あんまりそういう言い方しないけど
イラレ搭載のはES3なの?それも知らんけど
クッソ古いから使える文法も関数もまるで違うから環境を書けと言っているのよ
そこらへん多分知らなかったんだろうけど、それは仕方ないけど、次からは環境きちんと書いて
というかできれば以降はAdobeのフォーラムでやって
607
(1): (アウアウウー Sac7-OPB1 [106.146.82.82]) 2023/01/17(火)01:44 ID:BTJjkb3Ra(1) AAS
>>587
C/C++ 以外の言語は、参照しかコピーしない・shallow copy。
実体は再作成されない

なので、deep copy するのに、参照のリンクが切れないので困る

だから、marshal とか、わざわざオブジェクトをJSON 文字列化して、
その文字列から、新しいオブジェクトを作ったりする
608: (ワッチョイ cf6f-TZIJ [121.103.1.5]) 2023/01/17(火)16:25 ID:XA7n1WWP0(1) AAS
>>607
え?
609: (JP 0H67-w88e [126.249.157.89]) 2023/01/17(火)19:01 ID:LBqNgpc6H(1) AAS
ポインタのこと?
610
(2): (ワッチョイ 6310-qfBe [180.59.92.6]) 2023/01/18(水)00:05 ID:csewAuIZ0(1/4) AAS
検索アドレスに言語指定が必要になって下のスクリプトを書きました。

function Jump(){
var kekka =
"ht"+"外部リンク:www.concertzender.nl +
document.concertzender.kensaku.value +
"&lang=nl";
location.href = kekka;
省6
611: (ワッチョイ 6310-qfBe [180.59.92.6]) 2023/01/18(水)00:09 ID:csewAuIZ0(2/4) AAS

&amp; です
&#038; でも同じです
612
(1): (ワッチョイ cfbb-sA4L [217.178.152.148]) 2023/01/18(水)06:35 ID:guU+fOES0(1/2) AAS
この気持ち悪いの何?
> "ht"+"tp
613: (JP 0H67-w88e [126.249.157.89]) 2023/01/18(水)07:40 ID:Eqd2U92jH(1/2) AAS
documentのpropertyにconcertzenderって標準でないっしょ?
スクリプトのどっかでなんか設定してるん?
1-
あと 389 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s