元スレ+ JavaScript の質問用スレッド vol.105 +
JavaScript覧 / PC版 /みんなの評価 :
551 = :
お気に入りのJavaScript本あります?
自分はオライリー信者なんで、
フラニガン「JavaScript」
誰かさん「JavaScript:The Good Parts」
誰かさん「JavaScriptパターン」
誰かさん「Prototype & script.aculo.us」
あたり好きです。
552 = :
>>551
技評のJavaScriptポケットリファレンス一筋
553 = :
JavaScriptの文法チェックでお知恵をお借りしたいことがあります。
ユーザーに入力させたJavaScriptコードの文法チェックをやりたいんですが、
evalする以外に方法はありますか?
なぜevalする方法だとイヤかというと、まだ入力した時点(evalチェックした時点)では存在しない変数にアクセスするJavaScriptコードが入力される可能性があるからです。
変数の存在の有無の確認を除いたJavaScriptコードの文法チェック方法、なにか良い方法はないでしょうか。
あ、もちろん開発ツールやIDEのようなツールで文法チェックするというのではなく、JavaScriptでブラウザ上で文法チェックしたいということです。
色々考えているんですが、良い方法が見つかりません……。
554 = :
>>553
Esprima みたいなパーサー使うとか?
555 = :
正規表現を超頑張る
556 = :
>>555
これか。
http://jsfiddle.net/polygonplanet/5gWtm/
557 = :
皆様、ご助言ありがとうございます。
>>551 様がご紹介してくださったEsprimaを使ってうまくいきました。
http://esprima.org/doc/index.html
// valueにJavaScriptコードが入っているとする。
try {
return syntax = esprima.parse('(' + value + ')');
} catch (e) {
alert(e);
}
上記のようなコードで、不正なJavaScriptコードを渡すと例外が投げられて、
その例外のメッセージが非常に良い感じのエラー文でした(エラーになった行とかも書いてある)。
ありがとうございました!
558 = :
>>553
単に new Function(ソース) でもOKのような
559 = :
obj={ x:1 , y:2};
とプロパティを作って、
obj.x=obj.x.toFixed(3);
とする場合、これをもっと簡潔に書くことってできるんでしょうか
いちいち2回書くのは面倒なんですが・・・。
560 = :
別におすすめはしないが
with (obj = {x:1, y:2}) { x = x.toFixed(3); }
とか?かえって分かりにくくなるだけのような気もする。どっちかというと
obj = { x: 1.toFixed(3), y: 2};
で十分なんじゃないの。
561 = :
こうしないとエラーになるな
obj = { x: (1).toFixed(3), y: 2};
562 = :
プロパティってそんな風にも代入できたんですか
いちいち1個づつ読み出して使ってました。
それでやれば綺麗にできそうです。
ありがとうございます。
564 :
>>551
GoodPartsは部分的に納得イカない部分もおおいなあ
565 = :
$(document).ready(
function(){
$('.fd').hover(function(){
$(this).fadeTo('fast', 0.6);
}
}
);
な感じでフェードを付けてるんだけど
後から
$('.abc').addClass('fd');
としても有効にならない・・・
多分最初の読み込んだときに判断してるからなんだろうけど
付け足したクラスfdにも有効にする方法はないかな?
568 = :
おい、バグか?
次を01~10でやってみてくれ・・・
’08’と’09’で恐ろしい事が起きる。
parseInt('01')
:
parseInt('10')
569 = :
>>568
parseInt の第一引数が 0から始まり、第二引数が無指定の場合、それは8進数として解釈される
そのため、それは正しい挙動。
ただし、parseInt は ECMAScript 5 で挙動が変わり、常に 10進数で解釈されるようになった。
現に Firefox 21 からは
parseInt("08") === 8 //=> true
が成り立つ。
570 = :
>>568
書き忘れたけど以下も参照。
parseInt - JavaScript | MDN
http://developer.mozilla.org/ja/docs/JavaScript/Reference/Global_Objects/parseInt
571 = :
そういうことか!
10進数で考えていた俺がアマちゃんだな。
にしても8進数とは中途半端な・・・
572 = :
ちがう、0xなら16進数ってことか。
getしてきた数字が二桁揃えだから変になったんだね。
なんにしろ、次からはとりあえず第二引数つけるようにしよう。
573 = :
>>569
「イケメン」が広辞苑に載ったような気分だな
574 = :
第二引数無しだとC言語の数値リテラルみたいに解釈されるってことだね
まあでもC言語なんて知らん人が増えてきたから8進の方が削除されるのは妥当だな
575 = :
>>569
8進数で解釈する処理系は、「正しい挙動」なのか?
勝手な実装であって、SpiderMonkeyにはあってRhinoにはないんじゃなかったっけ。
576 = :
>>575
ECMAScript 3rdだと、8進か10進のどちらかでよくて、推奨は10進って書いてあるみたい
578 = :
なんで0oじゃなくて0になったんだろう
581 = :
>>564
GoodPartsの(というかJSLintの)ローカル変数宣言の位置については、むしろ有害だと思う。
582 = :
まぁあれはトレードオフだと思う
Cに戻っちゃった感あるけど
587 = :
Backbone.js って基本サーバサイド側で使うのですか?
588 = :
ふと思ったんだけど、ネットでやり取りする時のURLって通貨なみの価値があるよね
589 :
どゆこと?
591 = :
さて、そろそろヲタでも放置するか
592 = :
>>584
document.location.hrefとdocument.URLの一番の違いはdocument.URLの方は参照しかできないこと
document.location.hrefとdocument.URLを参照したときの内容は同じはずだけど、
ブラウザ依存で違う場合もある
593 = :
jQueryあればprototype.jsそれにscript.aculo.usは要らないかな?
まぁ何がしたいかによるんだよろうけど……。
実際使うときに考えるのは
「あれができるからここで使おう」
みたいなデザインの発想の流れになることあるよね。
prototype.js、script.aculo.usって便利?
使えた方がいい?
594 = :
>>592
㌧
595 = :
Firefoxで使うアドオン作成してます
サイドバーのボタンを押すとページを移動させてそのページにあるボタンを押すといった動作をさせたいです
function openUrl(URL) {
content.wrappedJSObject.location = URL;
newTabBrowser = gBrowser.selectedBrowser;
newTabBrowser.addEventListener("load", highlight, true);
}
このプログラムを動かしてページを移動させることまでができたのですが
現在のページのボタンを押すようなプログラムってどういう感じになりますか?
例えばグーグルのページに飛んで検索窓になにかいれて押すといったことをさせたいです
596 = :
var tableHtml = [];
tableList.forEach(function() {
tableHtml.push('<table></table>');
});
tableHtml = tableHtml.join('');
$('body').append(tableHtml);
var tableArray = $('table');
同じ要素を複数一度に追加するのに、こんなコードを沢山書いてるけど
もっとシンプルに書ける気がしてならない。
もっと簡単に書けるなら教えてください。
597 = :
クッキーで質問です。
サーバー側PHPで生成したページを読み込んでいて、PHPからクッキーをセットしています。
その値をページのJavaScriptで読み出そうと
alert( document.cookie );
としても、読み出すことができません。
ブラウザのデバッガでクッキーの値を見ると、ちゃんと値が入っています。
次に、JavaScriptからクッキーをセットしてみました。
document.cookie = "key01=value01;"
この後でalert( document.cookie );をすると、
key01=value01
が表示されます。
ブラウザのデバッガでクッキーの値を見ると、PHPでセットした値とJavaScriptでセットした値が入っています。
同じページの下でも、これらは別のクッキーなんでしょうか?
PHPでセットしたクッキーをJavaScriptから読み出す方法はありますか?
598 = :
質問を変えましょうか。
あるページを読み込んだ時に、クッキーがセットされました。
ブラウザでクッキーの値を見ると、ちゃんとセットされています。
その値をページ側のJavaScriptで読み出すことは、できますか?
document.cookieを参照しても、空になっていました。
600 = :
そのサーバ側から送られてくるのはHttponly属性がついてるんじゃないのか
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について