其实我正在研究申请,绑定和通话。为了测试它们,我简单地创建了一个简单的函数,如下所示。
var data = [{
"option": "com_easysocial",
"userId": localStorage.getItem("ckuser"),
"layout": "getConversations",
"view": "conversations",
"format": "json",
"limit": 2
}];
var Data = data['layout'];
function ajaxCall(arrayOfdata){
var score = arrayOfdata;
return score;
this.Data = score['layout'];
}
/***global variable & functions end***/
var contacts = {
data : [{
"option": "com_easysocial",
"userId": localStorage.getItem("ckuser"),
"layout": "getContacts",
"view": "conversations",
"format": "json",
"limit": 1
}],
Data: null
}
console.log(ajaxCall(contacts.Data));//null
ajaxCall.call (contacts, contacts.data);
console.log (window.Data); //undefined
console.log (contacts.Data); // null
{p}用于此console.log (contacts.Data)
call
使用contacts
。我希望,对于ajaxCall函数中的数据来存储从<xsl:function name="isPrime">
<xsl:param name="var1"/>
<xsl:param name="var2"/>
<xsl:value-of select="$var1='0' and $var2=1"/>
</xsl:function>
<xsl:when test="isPrime($var1, $var2)">
....
<xsl:when test="isPrime($var1, $var2)">
....
<xsl:when test="isPrime($var1, $var2)">
对象发送的数据,从而为布局显示'getContacts'。但它显示为null。这意味着它仍然使用联系人内部的数据。同样对于window.Data,它返回undefined。我期待getConversations。有人可以解释一下吗?
答案 0 :(得分:1)
此方法:
function ajaxCall(arrayOfdata){
var score = arrayOfdata;
return score;
this.Data = score['layout']; // nothing will execute below the return statement.
}
在this.Data
设置之前返回..
你需要这个:
function ajaxCall(arrayOfdata){
var score = arrayOfdata;
this.Data = score['layout'];
return score;
}
this.Data
我会小心定义全局变量并在函数中引用它们。
this.Data
可能会引用不属于窗口范围的this
...
您将其留给那个正在调用方法传递范围的人,这是不理想的。最好只使用返回值,或创建类结构。
实际上,如果你看:
var contacts = {
data : [{
"option": "com_easysocial",
"userId": localStorage.getItem("ckuser"),
"layout": "getContacts",
"view": "conversations",
"format": "json",
"limit": 1
}],
Data: null
}
contacts.data
是一个数组,所以
function ajaxCall(arrayOfdata){
var score = arrayOfdata;
this.Data = score['layout']; // score here is an array
return score;
}
在这里,您看到得分是一个数组,您尝试使用字符串键进行访问,而不是执行以下操作:
this.Data = score[0]['layout'];