問題タブ [object-properties]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 変数 配列またはネストされたオブジェクトを指す変数
配列またはネストされたオブジェクトを指す可変変数を作成することは可能ですか? PHPのドキュメントでは、SuperGlobalsを指すことはできないと具体的に述べていますが、これが一般的な配列に当てはまるかどうかは(少なくとも私には)不明です。
これが配列var varでの私の試みです。
オブジェクト var var の意味を示す簡単なコードを次に示します。
ここで明らかな何かが欠けていますか?
php - オブジェクトを PHP コンストラクターに渡すエラー
オブジェクトを PHP クラスのコンストラクターに渡し、そのオブジェクトをクラス内の残りの関数で使用できるグローバル変数として設定することは可能ですか?
例えば:
これを実行しようとすると、「オブジェクト以外のメンバー関数への呼び出し」エラーが発生します。とにかくこれを行うことはありますか?それ以外の場合は、オブジェクトを個々の関数に直接渡す必要があります。
ありがとう!
javascript - Javascriptでプロパティを繰り返し処理しているときに過度のネストを防ぐために、継続する場合は良いパターンですか?
私は通常、このパターンを使用してオブジェクト プロパティを反復処理します。
私はこの過度のインデントが好きではなく、最近、これを行うことでそれを取り除くことができると指摘されました:
余分なレベルのインデントが導入されないため、これが気に入っています。このパターンは大丈夫ですか、それとももっと良い方法がありますか?
php - 配列であるオブジェクトプロパティのキーを設定する
ちょうど今日、以前は正常に機能していたオブジェクトモデルの奇妙な動作に気づきました(可能な限りすべてをチェックし、その構成については何も変更されていないため、PHPバージョンへの変更を疑っており、他の誰かが同様の経験をしたかどうか疑問に思っています)
最近まで、配列であるオブジェクトプロパティのキーを手動で設定できました。私のモデルの1つでのこれの特定の実装は、次のようなギャラリークラスに含まれていました。
関係のない部分は省略。
基本的に、GalleryのPhotosオブジェクトの配列キーをデータベース内の個々の写真のIDに設定できます。これにより、個々の反復のコーディングが容易になり、全体がスムーズに実行されるようになりました。
これで、そのキーを何に設定しても、foreachの実行時に自動整数が生成されます。そこにリテラル文字列を入力しようとしましたが、理論的にはすべての反復を置き換える必要がありますが、プロパティPhotosのキーの増分された自動整数を取得しました。
配列であるオブジェクトプロパティ内のキーを手動で設定する機能は、いくつかのマイナーリリースで削除されましたが、私はそれを認識していませんか?私はいたるところをグーグルで検索し、PHPマニュアルサイトを調べましたが、答えが見つかりませんでした。誰かが似たようなことを経験したことがありますか?私が考慮すべきより良いアプローチはありますか?次の論理IDに戻るajaxリクエストを介して次/前のシステムを実装するのが非常に簡単になったので、私はこれを実際に使用しました(IDは間で削除できることに注意してください!)
ありがとう!
javascript - JavaScript: プロパティが呼び出されるたびに新しく実行されるプロパティに関数を割り当てる
html5 JS フォーム ライブラリを作成しています。アイデアは、.form-item のクラスを持つ要素をコンテンツ編集可能な div に変換することです。要素のデータ属性を、作成する必要があるフォーム アイテムのタイプ、検証などの指示として使用します。
以下のコードは、フィールド値の最小長が満たされているかどうかを確認する単一のフォーム アイテムの検証オブジェクトを作成します。オブジェクトのプロパティには、適用される DOM 要素 (el)、フィールドの最小長 (minLen)、最小長に達しない場合に表示されるエラー メッセージ (msgError)、および返す関数 (submit) が含まれます。オブジェクトが検証されるかどうか。検証されない場合はエラー メッセージが表示されます。
ただし、submit プロパティ関数は常に false を返します。理由はわかっていますが、それを修正する最善の方法はわかりません。私が直面している問題は、閉鎖の概念に関係していると思います。submit プロパティは、フォーム item 要素の innerHTML の長さをチェックし、それを minLen プロパティと比較します。しかし、これは検証オブジェクトのインスタンス化の瞬間にのみ発生すると思います. )。以下のコードを変更して、submit プロパティ関数が呼び出されるたびに新たに実行されるようにするにはどうすればよいですか (それにより、インスタンス化の瞬間の長さではなく、フィールドの innerHTML の現在の長さをチェックします)。
次のように、フォーム項目要素の innerHTML を引数として送信プロパティ関数に渡すという 1 つの解決策を思いつきました。
ただし、item.submit コードで DOM 要素を再指定する必要があるのは冗長に思えるため、その解決策は好きではありません (オブジェクトの el プロパティにその DOM 要素が既に含まれているため)。
それで...どうすればいいですか?
object - このオブジェクトのプロパティ/属性をどこに置くべきですか
テストプログラムを作成しています。私が今持っている 3 つの主要なオブジェクトは、テスト、質問と回答です。データベースには、テスト、質問と回答、および質問からテストへの FK と、回答から質問への外部キーの 3 つのテーブルがあります。質問テーブルの一部として、その質問に対する正解である回答の seq_num (一意の識別子) を格納する correct_answer_seq_num という列があります。この属性を質問表に入れることにしました。これは、この特定のテストの正解は 1 つしかないためです (この特定のテストでは、そうでないテストがあることはわかっています)。それを回答表に入れると、すべての回答を正解としてマークできます。
私が抱えている問題は、このプロパティをどのオブジェクトに置くべきかということです。これは実際には質問の属性ではなく、回答の属性ですが、データの整合性のために質問クラスに含める必要があると思います。
私はこれを大きくしすぎていませんか? そうでない場合は、プロパティをどこに置くべきですか?
それは問題ではありませんが、私はC#を使用しています
ありがとう!!
asp.net - ASP.NET ユーザー コントロールのオブジェクト プロパティのプロパティ値へのアクセス/設定 - 宣言構文の使用
ASP.NET ユーザー コントロールのプロパティとして公開された、オブジェクトのプロパティの値を宣言的に設定する方法を説明する記事を読んで、過ぎ去った日々を思い出すような気がします。
私の状況は、もちろん、とりわけ LinkButton を含むユーザーコントロールを持っているということです。ユーザー コントロールのコンシューマーが、ユーザー コントロールの実装に使用される宣言構文でリンク ボタンの TEXT 値を設定できるようにしたいと考えています。
これがユーザーコントロール(デザイナー)です...
ユーザーコントロールのコードビハインドで定義されているプロパティは次のとおりです...
ページにコントロールを含めると、次の DECLARATIVE 構文を使用して 4 番目のボタンの TEXT を設定できると期待していました ...
ずっと前に、アンダースコア構文を使用してオブジェクトのプロパティ (ユーザー/サーバー コントロールのプロパティとして公開されている) にアクセスできることをどこかで読んだことがあります。これは私にとってはまったく機能しません。これはもう許可されていませんか、それとも何か不足していますか? これを行う方法はありますか?
ありがとう、ゲイリー
javascript - このオブジェクト プロパティが定義されていないのはなぜですか?
以下のコードを検討してください。1 つ目console.log
はイメージを正しくログに記録し、下のイメージでそのプロパティを確認できます。ただし、そのプロパティをコンソールに記録しようとすると、undefined
!
コンソールの結果:
ここで何が起こっているのか分かりますか?のxml
プロパティには、その内部にthat.data[0]
もプロパティが必要です。実際には、 のプロパティと同じ名前が付けられますcards
。
FWIW、Firebug でも同じことがわかります (上記のコンソール イメージは Chrome です)。
php - 実行時にプロパティを動的に追加できないPHPクラスを作成できますか?
例として、このクラスを取り上げます。
出力は次のとおりです。
動的プロパティの追加を停止することはできますか?クラス定義のプロパティのリストを取得することは可能ですか?(つまり、動的ではなく、実行時に追加されたプロパティ)
c++ - C++: オブジェクト プロパティのエミュレーション: 考え
みなさん、良い一日を!
プロパティは C++ では実装されていません。Id est は書き込めません
これはproperty
プライベート データ メンバーです。パブリック データ メンバーは、OOP カプセル化規則に違反しています。
代わりに、getter/setter コードを記述する必要があります。
この投稿は、C++ でのプロパティ エミュレーションに関するものです。プロパティ呼び出しはパブリック データ メンバー呼び出しのように見えますが、実際のプライベート データ メンバー値を設定または取得するためにカスタム UDF コードが使用されます。
私たちがやりたいことは、単純なインターフェイスの使用 (パブリック データ メンバーのような、関数呼び出し構文なし) を許可することですが、基になるゲッター/セッターは複雑になる可能性があります (データの割り当て/読み取り専用以上のことを行う)。
次のコード (私の同僚が書いた) は、単純なプロパティの実装を示しています。
上記の例には、追加のジョブ (整合性チェックや境界チェックなど) を行わない単純な getter/setter のペアがありますが、このコードは、境界チェックや整合性チェックなどを実行するのが複雑になる場合があります。これは単なるテスト例です。
get_parent_this
ヘルパー テンプレートの "奇妙な" コードについて心配する必要はありません。最も「恐ろしい」のはオフセット計算です。nullptr (NULL, 0x0) アドレスはスタブとして使用されます。このアドレスからの書き込みや読み取りは行いません。サブオブジェクトのアドレスに基づく所有者オブジェクトのオフセット計算にのみ使用します。0x0 の代わりに任意のアドレスを使用できます。だから、これは意味がありません。
プロパティの使用法:
- 誰かがパブリック データ メンバー プロパティを使用している場合は、1.1 の場合に役立ちます。何か問題が発生した場合にパブリック データ メンバーの呼び出しを追跡する。1.2. パブリック データ メンバーの使用に基づく従来のコードを簡単にアップグレードできます。
- C++ でのプロパティのエミュレーションについてどう思いますか? 活発な考えですか?このアイデアには欠点がありますか (見せてください)?
- サブジェクトアドレスからの所有者オブジェクトアドレスの計算についてどう思いますか? あなたが知っているテクニックと起こりうる落とし穴は何ですか?
あなたの考えを教えてください!
ありがとうございました!