元スレ+ JavaScript の質問用スレッド vol.120 +
JavaScript覧 / PC版 /みんなの評価 :
801 = :
Flashとか使えば出来るのに
出来ないを選択するのって馬鹿だよなぁw
802 = :
>>792
でたらめなこと書くな
>>800
クリップボードはライブラリを使わなくてもAPIだけでできる
古いのがヒットするのはググりかたがわるいだけ
803 = :
var aaa = "aiueo";
console.log(aaa.length);
このときaaaはstringオブジェクトが作られているらしいのですが
そのインスタンスがされるときはいつの時点ですか?”aiueo”が代入されるときですか?
ちょっとインスタンスがされるって日本語おかしい気がしますが気にしないでください
804 = :
>>792
そのページに書かれているのはchromeの拡張機能についてだよ
805 = :
こうやってみると、IEでは古くから実現されたものが
まだ標準化されてないのって
まだ結構残ってるんだな。
806 = :
>>803
インスタンスが生成されるのは、プロパティにアクセスするときです
var aaa = "aiueo"; // ←まだインスタンスは生成しない
console.log(aaa.length); // ←ここでインスタンスを生成して、length プロパティにアクセスする
ただ、上記の説明の表現は大雑把です
もうちょっと正確に言うと、console.log() が実行される処理中の最初の方にインスタンスが生成されます
詳細を知りたければ、ECMA-262 5th edition の 11.2.3 Function Calls、11.2.4 Argument Lists、8.7.1 GetValue を参照されたし
807 = :
>>803
>「インスタンスがされる」
「インスタンス化される」でok
>>806
実質的に
var aaa = "aiueo";
の時点でインスタンス化されると考えても矛盾は起きないんではないか?
仕様がそうなってんならそうかもしれないが
単に無駄に複雑な書き方にしてるだけな気もする
808 = :
ありがとうです
809 = :
>>807
おっしゃる通りです
プロパティアクセスで生成されるオブジェクトは外からアクセスできないから、>>807のように考えても矛盾はない
8.7.1 GetValue の NOTE にも、「実装ではオブジェクトを実際に作らなくてもいい」ってはっきり書いてある
ブラウザ(FF32)で以下のコードを実行しても大差がないことから、
実際には var aaa = "aiueo"; の時点でインスタンスが用意されている(あるいはそのように見せかけている)可能性が高い
// プリミティブ値にプロパティアクセス
function primitive(){
var aaa = "プリミティブ値", i;
console.time("プリミティブ値");
for(i=0;i<1e9;i++) aaa.length;
console.timeEnd("プリミティブ値");
}
// ラッパーオブジェクトにプロパティアクセス
function wrapper(){
var aaa = new String("ラッパーオブジェクト"), i;
console.time("ラッパーオブジェクト");
for(i=0;i<1e9;i++) aaa.length;
console.timeEnd("ラッパーオブジェクト");
}
primitive();wrapper();primitive();wrapper();
810 = :
>>807
> 実質的に var aaa = "aiueo"; の時点でインスタンス化されると考えても矛盾は起きないんではないか?
その仮定が正しいとしたら "aiueo" instanceof String === true でなければおかしい
見かけ上は仕様に準拠しているけど、実際には独自拡張している実装は好ましくないと思うなあ
過去に /hoge/() できる実装で typeof /hoge/ === 'object' を返す実装があったけど、あれも好ましくないと思ってた
811 = :
>>791
> ・当たり判定を移動先の点でするのではなく、移動中に辿った線で行う(面倒)
正確には幅のある線だな
自機のコリジョンを円でやってたらカプセルになって矩形だったら6角形になる
812 = :
>>793
ゲームって普通はcanvasでしょ
DOM多用する方法って珍しいな
813 = :
安価ミスったー
>>790宛
814 = :
>>812-813
ゲームは専門外なものでその辺は知らない
「マウスを高速に動かすと障害物にぶつかっても障害物を通り越しちゃいます」の原因や再現条件に触れられてないし、「現象を再現可能なサンプルコードぐらい書け」といいたいところなんだが、>>793では見事にスルーされたからもう知らん、というのが正直な気持ちだ
「画像をmousemoveで移動できるように」だけでcanvas前提として認識するものなのか
プログラマ的には再現性に気をつかって質問するのが普通だと思ってた
815 = :
マウスのDPIの知識が無くてゲームも知らない奴が答えるなよw
まあゲ製板でやれって話だけど
816 = :
誰かが先に答え書いてるからいいけど>>814の知識不足で質問者を振り回すのはやめとけ
817 = :
交差判定の仕事だね
818 = :
まあ、質問の仕方も悪いけどな
819 = :
>>810
しかし 代入の = "aiueo" と単独の "aiueo" は違うんでないか?
というか「インスタンスが生成される」の定義が
instanceof 演算子に基づくとするならば
new String() でラップしていない文字列が代入された変数は
instanceof String が false になるので
プロパティにアクセスしようがしまいが
「インスタンスは生成されない」ことになるような
820 = :
>>802はどんなブラウザ使ってるの?
821 = :
どんなブラウザを使っているかって質問は変だよね
いろんなブラウザで動作確認するのはデフォなんだし
822 = :
デフォ?視野がせまいな
823 = :
>>819
「インスタンスが生成される」の定義は>>806が示した ES5 に倣っていると思っていたのだが…
プロパティ参照するにはObject型である必要があるから、プロパティアクセス演算子も内部的にはObject型に変換している(>806の説明もそれ)
http://es5.github.io/#x11.2.1
Object型に変換したタイミングならtypeof演算子は "object" を返すし、instanceof演算子もtrueを返すことが出来るが、内部処理なのでそのタイミングで該当演算子を使うことは出来ない
ようするに内部的にプリミティブラッパーオブジェクトに変換してるんだよ
ただし、ES5 仕様上は new String("aiueo") と "aiueo" は区別されているので両者を同一とみなすのはおかしい
824 = :
>>822
「デフォ?」の視野が狭いってなんだよw
言うならば「いろんなブラウザで動作確認」することが
視野が狭いと言うべきだろ?
で、特定のブラウザで動作確認するより
いろんなブラウザで動作確認するほうが視野が広いと思うが?
825 = :
>>824
横からだが、初めから論点がずれてるんじゃないか
ブラウザの動作確認を問うなら質問者に回答を求めるべきだろう
質問者が期待するブラウザで動作するなら>>802の使用ブラウザなどどうでもいい(>792でChromeやFirefoxとあるが、バージョンは不明)
>>802に対象ブラウザを問うならせめて「**** API の動作対象ブラウザは~で広く使われている~では動かなかったのですが」とかそこまで踏み込むべき
>>802の具体的なAPI名に触れてないのも問題だけどな
おそらく、Clipboard API の事なんだろうが
http://www.w3.org/TR/clipboard-apis/
http://caniuse.com/#feat=clipboard
826 = :
>>824
特定の環境下ではそうはならない
想像力がないね
827 = :
>>826
具体的に言えよ。
なんだその何にでも使えますみたいな
テンプレはw
828 = :
Aで事足りるのに、BもCも押し付けられたら迷惑だろ
しかも的外れw
829 = :
Clipboard APIはみんなが想像するものと違ったような
830 = :
>>829
あんま自信ないけど、クリップボードイベントからクリップボード操作するAPIに読めた
任意のタイミングでクリップボードをコピー、貼り付けする方法はわからなかった
>802が何のAPIを指していたのか、ちょっと気になるなー
831 = :
weblockというiphoneアプリがありまして
webプロキシに繋いで広告をフィルタするものなのですが
そのurl末尾の拡張子がjsなのです
webプロキシってjavascriptで実現できるものなのですか?
833 = :
>>830
任意のタイミングはFlashでやれって答え書いてあるじゃん
835 = :
>>832
場合による
関数の中で実行したら違う
836 = :
>>833
どこに?
838 = :
>>794に書いてあるよ
839 = :
質問した人間が情報を出さないかどういうタイミングでクリップボードにコピーしたかわからないから回答者があこれもこれも騒ぐ必要はなくね
840 = :
>>838
いや、知りたいのは>802のいう「APIだけ」で実現できる方法だったんだけど、わかりにくかった?
本当にそんな方法があるなら是非教えて欲しいね
>800で「諦めて手動コピーしてもらう」と書いてあるし、ユーザにコピーしてもらわないと発動しないClipboad APIを紹介しても仕方ない気がするんだけど
841 = :
仕方なくはないと言われてもそれは実装次第では
842 = :
クリップボードにセットするデータを入れ替えるだけで何が問題があるのか
843 = :
>>818
じゃあe.tartgetでどう判定するの?
845 = :
クリップボードを使うと言ったら、
普通、ボタンをクリックしたら
クリップボードにリンクが格納される。
みたいなことをしたいのが大半だと思われる。
だがChrome、Safariの「部分的サポート」では
その重要な機能が使えない。
846 = :
解答者の質の低下が目立つな
ちゃんとした質問以外は無視しろよ
847 = :
曖昧な質問やどうでもいいくだらない質問に答える必要はない
低脳質問者が調子に乗るだけ
848 = :
>>843
何で関係ない話を持ってくるんだろうな
849 = :
>>847
低能回答者乙
850 = :
確かに曖昧な質問が増えた
曖昧な質問を曖昧じゃなくするために質問すると「なぜ質問に質問を返すんですか」と逆ギレされるケースもしばしば見られる
無用なトラブルを避けるためにスルーする対策も一理あるといえる
回答するなら冷静さを失わないで欲しいものだが、感情的な発言があまりにも多い
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
トップメニューへ / →のくす牧場書庫について