繁体   English   中英

通过函数在javascript中设置对象的值,而无需调用该函数

[英]Set a value of an object in javascript from a function without calling the function

我知道我已经使这个复杂化了,但我很好奇。

所以我有一个功能:

 var setSize = function(selectedSize){
    var split = {
      size: val.sizes.split(','),
      tcin: val.tcin.split(','),
      idx: function(){
        return this.size.indexOf(selectedSize);
      }
    };
    console.log(split.idx)
   }

HTML:

<p>choose a size</p>
<div onClick="setSize('small')>small</div>

题:

这可能使split.idx的值等于0而不是函数的值。

在现代的浏览器中,可以对idx属性使用吸气剂,以使其成为计算所得的属性。

程序员可以将其作为split.idx访问,但该值仍将由函数计算。

此处有关吸气剂的详细信息: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/get

 var setSize = function(selectedSize){
    var split = {
      size: val.sizes.split(','),
      tcin: val.tcin.split(','),
      get idx() {
        return this.size.indexOf(selectedSize);
      }
    };
    console.log(split.idx)
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM