簡體   English   中英

使用變量名稱作為其值js的一部分

[英]Use variable name as part of its value js

在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對象中定義一個屬性-即名稱屬性。

可以做相反的事情:您可以使用名稱調用JS對象。

例如:

var propName = "prop";
var prop = "value";
console.log(window[propName]) // => will output "value"

編輯:您是否曾經瀏覽過Backbone或KnockoutJS之類的庫? 我不確定您在做什么,但是我最好的猜測是您正在構建這些庫已經提供的功能...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM