私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.89 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>396
俺の XP IE6 ではできる。
呼び出す側
<script>
var shell = new ActiveXObject("WScript.Shell");
shell.Exec("mshta.exe \"E:\\foo.hta?param=001\" arg1=bing arg2=bang");
</script>
受け取り側
<hta:application
id="foo"
/>
<script>
alert(location.search);
var args = foo.commandLine.split(/ /);
alert(args[1]);
</script>
俺の XP IE6 ではできる。
呼び出す側
<script>
var shell = new ActiveXObject("WScript.Shell");
shell.Exec("mshta.exe \"E:\\foo.hta?param=001\" arg1=bing arg2=bang");
</script>
受け取り側
<hta:application
id="foo"
/>
<script>
alert(location.search);
var args = foo.commandLine.split(/ /);
alert(args[1]);
</script>
>>400
function() {} //文
(function() {}) //式=実行できる
無名関数 括弧でググると色々出てくる。
無名関数(戻り値が必要ない場合も有る。グローバル領域を汚さない)
(function (window, undefined) {
~
})(window);
function() {} //文
(function() {}) //式=実行できる
無名関数 括弧でググると色々出てくる。
無名関数(戻り値が必要ない場合も有る。グローバル領域を汚さない)
(function (window, undefined) {
~
})(window);
>>400
意味というか、式として評価してもらう必要がある。
宣言ではオブジェクトが返ってこないから呼出せないよね。
例えば
function hoge () {...}
function () {...};
()がなかったとしよう。宣言と式。functionで始まるこのふたつをどうやって区別させる?
functionで始まると宣言文として解釈される。名前がなければテキストレベルで蹴られる。(構文違反)
functionを()で囲む(宣言できない)ことで式になる。関数式にするひとつの手段かな。
var jQuery=(function(){...
なぜ()なのか作者の意図は分からないけど、こんなことで混乱しちゃうのね。
意味というか、式として評価してもらう必要がある。
宣言ではオブジェクトが返ってこないから呼出せないよね。
例えば
function hoge () {...}
function () {...};
()がなかったとしよう。宣言と式。functionで始まるこのふたつをどうやって区別させる?
functionで始まると宣言文として解釈される。名前がなければテキストレベルで蹴られる。(構文違反)
functionを()で囲む(宣言できない)ことで式になる。関数式にするひとつの手段かな。
var jQuery=(function(){...
なぜ()なのか作者の意図は分からないけど、こんなことで混乱しちゃうのね。
ただの推測だけどjQueryの部分は行数が多いからわかりやすいようにとかじゃないのか
そういう定義でいうなら大抵の言語にあるだろ
しかし「JavaScriptにもclassはありますよね?」に関しては
表現としてclassは存在するものの言語的にclassと名言されてる物は無い
だから無いという答えが多い
しかし「JavaScriptにもclassはありますよね?」に関しては
表現としてclassは存在するものの言語的にclassと名言されてる物は無い
だから無いという答えが多い
>>405
クラスって概念でjavascript見ると
基底オブジェクト objectクラス→を継承したクラス ネコ→のインスタンス (田中さん家の白くて元気で芸ができて…………な)ネコ
ではなく
基底オブジェクト Dictionaryクラス→のインスタンス ネコ→のクローン (田中さん家の白くて元気で芸ができて…………な)ネコ
になるだろ?
んでその見方で言うところの基底オブジェクトのインスタンス(のクローン*n)をクラスとして使えば使えないこともないってだけで
わざわざクラスの概念がないところにまでクラスの概念を持ってきて使うかどうかの話
クラスって概念でjavascript見ると
基底オブジェクト objectクラス→を継承したクラス ネコ→のインスタンス (田中さん家の白くて元気で芸ができて…………な)ネコ
ではなく
基底オブジェクト Dictionaryクラス→のインスタンス ネコ→のクローン (田中さん家の白くて元気で芸ができて…………な)ネコ
になるだろ?
んでその見方で言うところの基底オブジェクトのインスタンス(のクローン*n)をクラスとして使えば使えないこともないってだけで
わざわざクラスの概念がないところにまでクラスの概念を持ってきて使うかどうかの話
めんどくさいから
クラスベース:主記憶上に展開されて<いない>設計図(クラス)から実体(インスタンス)を生成
プロトタイプベース:主記憶上に展開されて<いる>設計図(オブジェクト)をコピーして別の実体(オブジェクト)を生成
とか言っておけばいいんじゃね?
クラスベース:主記憶上に展開されて<いない>設計図(クラス)から実体(インスタンス)を生成
プロトタイプベース:主記憶上に展開されて<いる>設計図(オブジェクト)をコピーして別の実体(オブジェクト)を生成
とか言っておけばいいんじゃね?
html文書のbodyの中から、タグ付けされていない文字列をまとめて取り出したり、いじったりするには、どんなDOMを書けばいいでしょうか?
例えば、
<body>
<b>title</b>
<span style="font-size:small">description</span>
This is contents.
</body>
この中の"This is contents"だけを抜き出したり操作したいのですが…。
例えば、
<body>
<b>title</b>
<span style="font-size:small">description</span>
This is contents.
</body>
この中の"This is contents"だけを抜き出したり操作したいのですが…。
>>415
自分へのレスだと思っていいですか?
書きたいのは暗記補助用のための俺得スクリプトです。
"hello. my name is jonus." これを
"h----. m- n--- i- j----." こうしたいんです。
で、どこかのキーが押されてる間だけは、ハイフンなしの元の文章に戻るようにしたいんです。
どうしてタグなしの文字列を取り出したいのかというと、
Ubuntuで使ってるメモ帳のhtmlコンバート機能だと、生の文章、つまりハイフンで隠したいところがタグなしで出力されてしまうんですよね。
自分へのレスだと思っていいですか?
書きたいのは暗記補助用のための俺得スクリプトです。
"hello. my name is jonus." これを
"h----. m- n--- i- j----." こうしたいんです。
で、どこかのキーが押されてる間だけは、ハイフンなしの元の文章に戻るようにしたいんです。
どうしてタグなしの文字列を取り出したいのかというと、
Ubuntuで使ってるメモ帳のhtmlコンバート機能だと、生の文章、つまりハイフンで隠したいところがタグなしで出力されてしまうんですよね。
すいません。
レスの内容的に、アンカー振り間違えたのかと。
ありがとうございました。
レスの内容的に、アンカー振り間違えたのかと。
ありがとうございました。
急に初心者の心配をしだしたけど
だったらなおさら勝手に言葉を作るのはどうなの
誤解、混乱の元でないかい
クラスのようなもの、という表現で止めておくのではなく
クラスがある、と言い切らないと気が済まないようだけど
そもそもクラスがあるとかないとか、クラスという言葉を聞いて話が通じるような初心者なら
心配しなくてもいいんでないかい
思い込みの固定観念で凝り固まっているような誰かさんのような人には
どう言っても誤解というか認識を変えるつもりはないだろうから無意味だし
だったらなおさら勝手に言葉を作るのはどうなの
誤解、混乱の元でないかい
クラスのようなもの、という表現で止めておくのではなく
クラスがある、と言い切らないと気が済まないようだけど
そもそもクラスがあるとかないとか、クラスという言葉を聞いて話が通じるような初心者なら
心配しなくてもいいんでないかい
思い込みの固定観念で凝り固まっているような誰かさんのような人には
どう言っても誤解というか認識を変えるつもりはないだろうから無意味だし
JavaScript にクラスベースオブジェクト指向言語でいうところのクラスという概念は存在しませんが、
サイ本では便宜的にクラスという言葉を使っています。
JavaScript でクラスを模倣する際に使われるのがプロトタイプ (ペアレント) です。
クラスベースオブジェクト指向を多平面モデルで説明するのなら、プロトタイプベースオブジェクト指向は平面がひとつしかないという感じでしょうか。
オブジェクトとそのプロトタイプは、平面間の垂直関係ではなく、
同一平面内のつながり (プロトタイプチェーン) として表現できます。
サイ本では便宜的にクラスという言葉を使っています。
JavaScript でクラスを模倣する際に使われるのがプロトタイプ (ペアレント) です。
クラスベースオブジェクト指向を多平面モデルで説明するのなら、プロトタイプベースオブジェクト指向は平面がひとつしかないという感じでしょうか。
オブジェクトとそのプロトタイプは、平面間の垂直関係ではなく、
同一平面内のつながり (プロトタイプチェーン) として表現できます。
>>420
同意
クラスの概念がわからないプログラミング初心者にはその通りだし、
他言語でクラスの概念は理解しているがJS初心者の人には
いわゆるクラスディレクティブはないですが
一般の関数をコンストラクタ関数として扱いnewすることで
インスタンスを作ることが出来ます
クラスではないので一般的な継承はありませんが
プロトタイプでつながってます
でいいと思う
同意
クラスの概念がわからないプログラミング初心者にはその通りだし、
他言語でクラスの概念は理解しているがJS初心者の人には
いわゆるクラスディレクティブはないですが
一般の関数をコンストラクタ関数として扱いnewすることで
インスタンスを作ることが出来ます
クラスではないので一般的な継承はありませんが
プロトタイプでつながってます
でいいと思う
具体的にどういう風につながるのかちゃんと理解できるまでに
相当時間かかりましたわ
相当時間かかりましたわ
質問です
var B = new Array();
B[0] = a;
B[1] = b;
とすると、出力結果が{a b}のようになります
縦に配列を作りたい場合はどうすればよいでしょうか
var B = new Array();
B[0] = a;
B[1] = b;
とすると、出力結果が{a b}のようになります
縦に配列を作りたい場合はどうすればよいでしょうか
>>431
何を求めているのか定かではないので a, b のコードと期待する縦の配列も例示して
何を求めているのか定かではないので a, b のコードと期待する縦の配列も例示して
表示じゃね?数学的なw
少なくとも>>435で無いことは確かだろう。
少なくとも>>435で無いことは確かだろう。
>>442
document.write() で出力してるかもしんないよ。
document.write() で出力してるかもしんないよ。
>>376,405
> alert(Document)やalert(Element)とすると[object class]と表示されます
それは [[Class]] であって「クラスベースにおけるクラス」とは異なります。
詳しくは>>389,423を読んでいただくとして [[Class]] とはオブジェクトの種類を表しています。
Object.prototype.toString を利用することで対象のオブジェクトが持つ [[Class]] を確認することができます。
Object.prototype.toString.call(new Array()); // [object Array]
Object.prototype.toString.call(new RegExp()); // [object RegExp]
Object.prototype.toString.call(new Function()); // [object Function]
これだけ見るといわゆるクラスのように見えるかもしれません。では次のコードはどうでしょう?
function Sample () { }
Object.prototype.toString.call(new Image()); // [object HTMLImageElement]
Object.prototype.toString.call(new Audio()); // [object HTMLAudioElement]
Object.prototype.toString.call(new Sample()); // [object Object]
これでも [[Class]] をクラスと断言できるでしょうか。
例えるなら、[[Class]] は HTML におけるclass属性のようなもので読み取り専用の内部プロパティです。
個人的には「Object型のデータだけが持つ特別な型」と認識しています。ECMAScript に「Array型」はないですが「Object型かつ [[Class]] が "Array" となるもの」は一つしかありませんから。
# Object.prototype.toString を typeof 演算子の代わりに使うのは間違っているとは思いますが…。内部的にObject型に変換しているので new String とStringリテラルの区別がつきません。
> alert(Document)やalert(Element)とすると[object class]と表示されます
それは [[Class]] であって「クラスベースにおけるクラス」とは異なります。
詳しくは>>389,423を読んでいただくとして [[Class]] とはオブジェクトの種類を表しています。
Object.prototype.toString を利用することで対象のオブジェクトが持つ [[Class]] を確認することができます。
Object.prototype.toString.call(new Array()); // [object Array]
Object.prototype.toString.call(new RegExp()); // [object RegExp]
Object.prototype.toString.call(new Function()); // [object Function]
これだけ見るといわゆるクラスのように見えるかもしれません。では次のコードはどうでしょう?
function Sample () { }
Object.prototype.toString.call(new Image()); // [object HTMLImageElement]
Object.prototype.toString.call(new Audio()); // [object HTMLAudioElement]
Object.prototype.toString.call(new Sample()); // [object Object]
これでも [[Class]] をクラスと断言できるでしょうか。
例えるなら、[[Class]] は HTML におけるclass属性のようなもので読み取り専用の内部プロパティです。
個人的には「Object型のデータだけが持つ特別な型」と認識しています。ECMAScript に「Array型」はないですが「Object型かつ [[Class]] が "Array" となるもの」は一つしかありませんから。
# Object.prototype.toString を typeof 演算子の代わりに使うのは間違っているとは思いますが…。内部的にObject型に変換しているので new String とStringリテラルの区別がつきません。
>>445
逆に聞くけど、仕様書に書いてないことってあるの?
逆に聞くけど、仕様書に書いてないことってあるの?
>>446
アスペ乙
アスペ乙
仕様書を解読できるなら>>423で解決してるはず
解決してないってことは…いわずともわかるよな?
解決してないってことは…いわずともわかるよな?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [95%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.129 + (981) - [95%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.129 + (926) - [95%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.109 + (1001) - [95%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
トップメニューへ / →のくす牧場書庫について