ページ 11

javascriptで質問があります

Posted: 2012年11月17日(土) 18:09
by sa_a

コード:

例:
// とあるサイトの例として出されていたモノを少しアレンジ(変数名を変えただけ)したものです(ほぼコピペ)
function openPhoto(uri,w,h,pname){
 var PW;
 PW=window.open("",pname,
  "toolbar=yes, location=no, directories=no, status=yes,
  menubar=no, scrollbars=no, resizable=no, width="+w+", height="+h);
 PW.focus();
 PW.document.open();
 PW.document.write("<html><head>");
 PW.document.write("
  <meta http-equiv='content-script-type' conent='text/javascript'>");
 PW.document.write("
  <meta http-equiv='content-style-type' conent='text/css'>");
 PW.document.write("<title>"+pname+"<"+"/title><"+"/head>");
 PW.document.write("<body style='margin: 0\; padding: 0\;'><p>");
 PW.document.write("
  <img src='"+uri+"' width='"+w+"' height='"+h+"' alt='"+pname+"'>");
 PW.document.write("<br><"+"/p><"+"/body><"+"/html>");
 PW.document.close();
}
ここで聞きたいのはどれがなんの引数とかいうのではありません。

質問①、ところどころにあるfunctionの4つの引数なのですが、必ず「+」でつながれてます。この「+」の意味は分かります。
      ですが、なぜ,17,18行目のようにダブルクォーテーションとシングルクォーテーションの二つで囲むのかわかりません。ダブルだけで囲むならまだ分からなくもないのですが・・なぜシングルまででてくるのでしょうか?

質問②、 ①と類似しています(①と質問の順番が逆かも知れません(こっちが実質①かも・・・))が、(18行目を例にとります)width = wではいけないのでしょうか?document.writeの中でwidthなどに値や文字列などを代入するときにはソースコードのような「+」で加算する書き方にしなければならない決まりなのでしょうか?(ではなぜスクロールバーの設定はそのような書き方ではないのでしょうか?)もし、引数にwをとっていなくて300としたいときにもwidth = 300ではなく上記のソースコードのような書き方をしなければならないのでしょうか?

質問③、16行目のCSSの記述なのですが、円マークはなんの意味があるのですか?

コード:


jabascriptで質問があります

Posted: 2012年11月17日(土) 18:12
by sa_a
件名と、ユーザ名を間違えてしまいました

質問に支障はないので・・・無視してください。

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 18:25
by softya(ソフト屋)
題と名前が逆なのは直しておきました。

どちらかと言うとjavascriptの問題ではなくhtmlになった時にシングルクォートで属性値を囲みたいだけですね。
質問①も質問②も囲む事を目的としています。"width = "+wでも実際には動く場合が多いでしょうが使い分けるとミスする場合もあるので基本的に囲っておくのは間違いではないです。

質問③は、document.writeは使わずにjQueryで日頃過ごしているので調べてみます。

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 18:43
by sa_a
なるほど、HTMLになった時のことを考えてるのですね・・・ってそのサイトに書いてありました・・・すいません

調べていただけるなんて嬉しい限りです。

私もまだ、サイトを見ながら勉強している初心者ですので、おそらく所々文章がへんになっているところもあると思いますが、大目に見てください。

返信に対して質問なのですが、
Jqueryもjavascriptですよね、最終的にはJqueryも使えるようになりたいのですが、今はとにかくJavascriptを勉強して、ある程度自由に使えるようになったら、Jqueryを勉強すればいいですか(そっちの方が効率的ですか)?

JQueryは大まかな記述が違う(簡単になってる)のは知っているのですが、JQueryを勉強するならjavascriptは後回しにして先に勉強したほうがいいのですか?

最初の質問から脱線しそうな質問でしたら簡潔でいいのでお答えください。(できれば、詳しくお願いします)

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 18:48
by softya(ソフト屋)
jQueryを使うためにはjavascriptの文法レベルは理解している必要があります。
ただ、document.write()を使うかと言うとまったく使いません。
コレとコレを使うからとか細かく書けませんが、直接DOMに関わる辺は隠蔽されています。

軽く調べた所、質問③のセミコロンのエスケープがどういう意味を持つのかは分かりませんでした。
実際に複数の有名ブラウザで動作を確認してみてください。ブラウザごとに動作が違う可能性があってその対策かもしれません。

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 18:56
by sa_a
わざわざしらべていただきありがとうございます。

試してみます!!

度々質問で失礼なのですが、個人的におすすめのjavascript,jQueryの入門サイト、参考書などおありでしたら教えていただけませんか?

基礎文法などを完璧に固めたい気持ちがあるのでそういうのを詳しく(重点的に)記してあるモノがあれば教えてください。

あくまで個人的でいいですので、一般的に評価されているのも知っていれば教えてください。

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 19:06
by h2so5
ソースコードの出処はここのようですが、
特に何も書かれていないのでセミコロンのエスケープはミスではないかと思います。
http://stillnothing.web.fc2.com/js_labo ... nwin5.html

似たようなものとして ¥9; というIE用のCSSハックが存在しますがおそらく無関係でしょう。
http://paulirish.com/2009/browser-specific-css-hacks/

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 19:22
by softya(ソフト屋)
私は業務でjavascriptを使っているわけではないのでjavascript専門家とはいえません。
知る限りにおいてjavascriptは実に奥の深い言語です。完璧に固めるのはちょっと難しいですよね。
「JavaScript | MDN」
https://developer.mozilla.org/ja/docs/JavaScript
日常的には「とほほのJavaScriptリファレンス」で十分組むことが出来ると思います。

本ならコレですかね。読みやすいかは人によりそうです。
「JavaScript 第6版」

Re: javascriptで質問があります

Posted: 2012年11月17日(土) 19:37
by sa_a
お二方様、教えていただきありがとうございます。

書籍はレビューを見ましたがとても高評価でした、しかし如何せん分厚いそして高い・・・

とりあえず書店で各項目のさわりだけ立ち読みしてから決めたいと思います。

ありがとうございました。