Bruce.です。
Javaには variable interpolation はなかったはずですが・・・
davi さんは書きました (2009/02/15 3:04):
> # 実は、OK WAVEとかの発言ID取得って、やり方がよくわからんのですよね…。
> # 楽天IDとかYahoo!IDとかでそのまま入れるのでしょうか。
> # お返事にポイント、ってのも、仕組みがよくわからん。
OKWaveはいろんなところと提携していて、IDも提携先のがつかえますが
楽天やYahoo!のは無理ですね。
> ○Javascriptその2(でびの応用)
>
> function SetWidthHeightSize(){
> var RMW = document.getElementById("right_menu").clientWidth;
> var RMH = document.documentElement.clientHeight;
> var OTRMW = '"width","' + RMW + '"' ;
> objectTag.setAttribute(OTRMW);
>
> var OTRMH = '"height","' + RMH + '"' ;
> objectTag.setAttribute(OTRMH);
>
> alert(RMW);
> alert(RMH);
> alert(OTRMW);
> alert(OTRMH);
> }
>
> さて、Javascriptその1を踏まえて、上記のようにしてみました。
> IE7、Firefox2ともに動きません。
>
> IEの場合は、エラーが出てもその先に進むので、アラートが
> 表示されますが、その表示結果を見た感じでは、文字列生成に
> ついては上手くいっているようです。
>
> Firefox2のエラーコンソールによると、
>
>> エラー: uncaught exception: [Exception... "Not enough arguments"
>> nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"
>> location: "JS frame ::file:///〜/hoge.html ::
>> SetWidthHeightSize :: line 123" data: no]
>
> とか意味不明な無愛想なエラーを返してきます。
> setAttributeに放り込んだユーザ定義変数が、うまく展開されて
> いないのか?という印象です。
setAttribute て引数を二個取りません?
でびさんのスクリプトでは一個しか渡してませんから、
not enough args (引数が足りないんじゃボケッ) エラーと。
>
> -------------------
> ○検証用Javascriptその3(古籏DOM本 Rist3.38をちょっと改変。)
>
> 上記とは別のファイルとして作成。
> 以下のコードは、ちゃんと動きました。
>
> function apChild(){
> var mItem = ["国語","算数","理科","社会" ];
> var ulTag = document.getElementById("classList");
> for (i in mItem){
> var liTag = document.createElement("li");
> var tNode = document.createTextNode(mItem[i]);
> liTag.appendChild(tNode);
> ulTag.appendChild(liTag);
> }
> }
>
>
> <body onload="apChild();">
> <h1>appendChild</h1>
> <ul id="classList"></ul>
> </body>
>
> -------------------
> ○考察
>
> 以上の実験から帰納して、「"」の展開が上手くいっていないのかなぁ?
> と考え、実体参照文字列「"」で置き換えてみたり、
> string = new String(string) で、
>
> objectTag.setAttribute(new String(OTRMW) );
>
> とやってみましたが、どうも上手く行かない…。
>
> Perlとかだと、想定外の所でも展開されてしまってビックリするような
> 場合すらありますが、各種ブラウザのJavascriptとDOM実装は、どうも、
> そんな感じとも違うようです。
何でそっち(variable interpolation)の方向に行くのか不思議なんですが。
検証って何を検証しようとしているのかもわかりません。
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk [at] kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/