jsで値を設定するときに変数名を取得できますか?
このようなもの:
var js = '<span id="'+ ::self.name +'"></span>';
だからそうなるだろう
js = '<span id="js"></span>';
コンテキストは重要ではありません。同じことを行うより長い方法をたくさん知っていますが、最短のものを使用するのは素晴らしいことです。
jsで値を設定するときに変数名を取得できますか?
このようなもの:
var js = '<span id="'+ ::self.name +'"></span>';
だからそうなるだろう
js = '<span id="js"></span>';
コンテキストは重要ではありません。同じことを行うより長い方法をたくさん知っていますが、最短のものを使用するのは素晴らしいことです。
うーん-私が考えることができる最も近いものは、テンプレートを介して作成することです:
//using this small template js code
if (!String.prototype.supplant) {
String.prototype.supplant = function (o) {
return this.replace(/{([^{}]*)}/g,
function (a, b) {
var r = o[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};
}
var spanTmpl= '<span id="{id}"></span>';
var a= spanTmpl.supplant({id:"js"});
var b= spanTmpl.supplant({id:"bla"});
console.log(a); //<span id="js"></span>
console.log(b);//<span id="bla"></span>
いいえ、js-object でプロパティを定義する必要があります。つまり、name-property です。
可能なことは、逆のことを行うことです。名前を使用して JS オブジェクトを呼び出すことができます。
例えば:
var propName = "prop";
var prop = "value";
console.log(window[propName]) // => will output "value"
編集: Backbone や KnockoutJS などのライブラリを調べたことがありますか? あなたが何をしているのかはわかりませんが、私の最善の推測では、これらのライブラリがすでに提供している機能を構築していると思います...