私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.108 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
これじゃあかんのか??
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source)
for (var i = 0; i < keys.length; ++i) {
target[keys[i]] = source[keys[i]]
}
return target
}
})
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source)
for (var i = 0; i < keys.length; ++i) {
target[keys[i]] = source[keys[i]]
}
return target
}
})
jqeuryの文法はjavascriptと違うようですが、どうやって文法拡張してるんですか?
それとも、うまいことメソッドを使って別の文法みたいに見せてるんですか
それとも、うまいことメソッドを使って別の文法みたいに見せてるんですか
>>851
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; i++) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}, enumerable: false
});
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; i++) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}, enumerable: false
});
<div id="top">
<div>a<div>
<div>a<div>
<div>a<div>
<div>a<div>
<div>a<div>
</div>
こういうhtmlがあります
div#topの子要素をクリックしたときにインデックスが知りたいんですが
これはどうやって調べればいいのでしょうか?
<div>a<div>
<div>a<div>
<div>a<div>
<div>a<div>
<div>a<div>
</div>
こういうhtmlがあります
div#topの子要素をクリックしたときにインデックスが知りたいんですが
これはどうやって調べればいいのでしょうか?
これでFAだな
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; ++i) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}
});
Object.defineProperty(Object, 'mixin', {
value: function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; ++i) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}
});
>>856
こんな感じ
テストはしてない
var tar = event.currentTarget
var top = document.querySelector('div#top')
var divs = document.querySelectorAll('div#top>div')
while(tar && !tar.webkitMatchesSelector('div#top>div')) tar = tar.parentNode
if(!tar) return //場違いな要素
for(var i=0;i<divs.length)if(tar == divs[i]) break;
//---iが番数--
//以降処理
こんな感じ
テストはしてない
var tar = event.currentTarget
var top = document.querySelector('div#top')
var divs = document.querySelectorAll('div#top>div')
while(tar && !tar.webkitMatchesSelector('div#top>div')) tar = tar.parentNode
if(!tar) return //場違いな要素
for(var i=0;i<divs.length)if(tar == divs[i]) break;
//---iが番数--
//以降処理
writable:trueとconfigurable:trueは要らんの?
>>860
なんでwebkit限定にするの?
なんでwebkit限定にするの?
>>861
つうかプロトタイプ拡張じゃないんだからこれでいい
Object.mixin = function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; ++i) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}
つうかプロトタイプ拡張じゃないんだからこれでいい
Object.mixin = function (target, source) {
var keys = Object.getOwnPropertyNames(source);
for (var i=0; i<keys.length; ++i) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
return target;
}
SIerが作ってる業務APPは、画面枚にjavascriptを別ファイルに外出しするのが普通なんですか?
恐怖のstaticおじさんの話じゃないだろうな……
http://el.jibun.atmarkit.co.jp/pressenter/2010/11/1-828a.html
http://el.jibun.atmarkit.co.jp/pressenter/2010/11/1-828a.html
本当にその画面にだけ必要な機能だけ分けてあとは共通ファイルにしたら
関数数個のファイルだらけにならないか?
関数数個のファイルだらけにならないか?
継承のためのメソッドを実装した継承可能クラスがあれば
継承を書くの簡単じゃね?と思ったのですが
そういうのありますか?
継承を書くの簡単じゃね?と思ったのですが
そういうのありますか?
継承なんてこれでいいじゃん
obj.__proto__ = ClassX.prototype
obj.__proto__ = ClassX.prototype
コンストラクタから親クラスのコンストラクタを呼び出したり
メソッドをmixinしたりの処理がありますが・・
メソッドをmixinしたりの処理がありますが・・
>>872
言葉はいいからコードでどうしたいのか例示して
言葉はいいからコードでどうしたいのか例示して
どうかくのが良いのでしょうか
これのサンプルおねがいします
これのサンプルおねがいします
>>876
一般的な話過ぎて特定のサンプルコードにするのは難しいな
一般的な話過ぎて特定のサンプルコードにするのは難しいな
ExtendableClass.inherit(Hoge,hogesMethods);
Hoge.inherit(Moge,mogesMethods);
var moge = new Moge();
こんなイメージです
Hoge.inherit(Moge,mogesMethods);
var moge = new Moge();
こんなイメージです
>>873
1回だけ参照が切れてるか調べる方法ならある
1回だけ参照が切れてるか調べる方法ならある
>>880
おしえてえください
おしえてえください
>>878
Hoge.__proto__ = ExtendableClass.prototype
Hoge.prototype = hogesMethods
Moge.__proto__ = Hoge.prototype
Moge.prototype = mogesMethods
Hoge.__proto__ = ExtendableClass.prototype
Hoge.prototype = hogesMethods
Moge.__proto__ = Hoge.prototype
Moge.prototype = mogesMethods
そうですか・・・
あごっちに直接聞けばいいんですけど・・・
あごっちに直接聞けばいいんですけど・・・
超簡単な話こういうこと
//NG
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = (year - age > 25) ? 'showa' : 'heisei'
}
//OK
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = getWareki(year - age)
}
//NG
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = (year - age > 25) ? 'showa' : 'heisei'
}
//OK
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = getWareki(year - age)
}
まちった
//OK
function Human(name, age) {
this.wareki = getWareki(age)
}
//OK
function Human(name, age) {
this.wareki = getWareki(age)
}
//NG
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = (year - age < 1988) ? 'showa' : 'heisei'
}
function Human(name, age) {
var year = (new Date).getFullYear
this.wareki = (year - age < 1988) ? 'showa' : 'heisei'
}
Classが静的な言語なら幾ら分離してもIDEで追えるからいいけど
JavaScriptでは必ずしもそうでじゃないよ
JavaScriptでは必ずしもそうでじゃないよ
ロジックの分離ということだろう
そしてこのケースだと単純すぎてそぐわないが
obj.init()
とか
obj.set~
みたいなスタイルが一番推奨ということだろう
そしてこのケースだと単純すぎてそぐわないが
obj.init()
とか
obj.set~
みたいなスタイルが一番推奨ということだろう
クラスつまりコンストラクターとプロトタイプの定義と、
それをインスタンス化して利用するコードをわけろっていうことなんじゃないの?
>>886-887はクラスをどう定義するかって話になるんでちょっとズレてるような
それをインスタンス化して利用するコードをわけろっていうことなんじゃないの?
>>886-887はクラスをどう定義するかって話になるんでちょっとズレてるような
どんどんJavaScriptじゃなくなっていく気がするね
もう別の言語でいいじゃんってならないの
もう別の言語でいいじゃんってならないの
JavaScriptの最大の利点はブラウザでそのまま動くことなんですから
各自が用途に適した作法で書けばいいでしょう
ある程度規模の大きいプログラムの場合は>>893-894みたいな作法が好ましいってだけですね
各自が用途に適した作法で書けばいいでしょう
ある程度規模の大きいプログラムの場合は>>893-894みたいな作法が好ましいってだけですね
クラス継承って、結局こんな関数書いてやるのが一番簡単ですよね?
function extendsClass(Parent,Child) {
var keys,key,i,prototype;
prototype = Child.prototype;
Child.prototype = Object.create(Parent.prototype);
keys = Object.keys(prototype);
for ( i=keys.length; i--;){
key = keys[i];
Child.prototype[key] = prototype[key];
}
Child.prototype.constructor = Child;
}
function extendsClass(Parent,Child) {
var keys,key,i,prototype;
prototype = Child.prototype;
Child.prototype = Object.create(Parent.prototype);
keys = Object.keys(prototype);
for ( i=keys.length; i--;){
key = keys[i];
Child.prototype[key] = prototype[key];
}
Child.prototype.constructor = Child;
}
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
トップメニューへ / →のくす牧場書庫について