gpt4 book ai didi

Javascript 闭包错误

转载 作者:行者123 更新时间:2023-12-02 19:30:26 25 4
gpt4 key购买 nike

几天前我被 Javascript 的闭包错误严重困扰,但太忙了,没时间问。我正在使用 jQuery 模板引擎尝试类似以下内容。

<ul id="container"></ul>
<script type="text/jq-tmpl" id="myTmpl">
<li>
<span style="background:#fafafa">X:${X}</span>
<span style="background:#ababab">Y:${Inner.Y}</span>
<span style="background:#9a9a9a">Z:${Inner.Z}</span>
</li>
</script>

function OuterObject(x,y,z){
this.X = x;
this.Inner = InnerObject(y,z);
}

function InnerObject(y,z){
this.Y=y;
this.Z=z;
}

$(function(){
var l=[];
l.push(OuterObject(1,"One","inner-1"));
l.push(OuterObject(2,"Two","inner-2"));
$("#myTmpl").tmpl(l).appendTo("#container");
});

问题是它显示了渲染的两个项目的 inner-2Two 。我也尝试过这样的:

var a=OuterObject(1,"One","inner-1");
l.push(a);
var b=OuterObject(2,"Two","inner-2");
l.push(b);

但是都是一样的。

最佳答案

看起来您在调用构造函数时需要使用“new”。

例如new Outerobject(...)new InnerObject(...)

否则,this 对象将不会被返回。

关于Javascript 闭包错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11554146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com