我从下面的代码得到了所需的输出。这是用于打印数据的两个JavaScript函数表达式
(function(){
var getData=function()
{
console.log("getdata");
},
setData=function()
{
getData();
console.log("setData");
};
setData();
})();
但是当我在另一个页面上尝试这样的事情时。我没有得到理想的输出。
这是我的代码。
var employeesList = {
getemployees: function () {
var data= getData("Employees/GetEmployees");
},
init: function () {
this.getemployees();
}
}.init();
var getData = function (url) {
var error = false;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (data) {
return data;
},
error: function () {
return error = true;
}
});
};
我收到了这样的错误。 getData不是一个函数 请帮忙。
答案 0 :(得分:1)
employeesList
之前声明data
getemployees
中的变量init
无法访问,我在那里添加了一个返回值,因此您可以在var getData = function (url) {
var error = false;
/*$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (data) {
return data;
},
error: function () {
return error = true;
}
});*/
return 'test_result';
};
var employeesList = {
getemployees: function () {
//Here you should return the result
return getData("Employees/GetEmployees");
},
init: function () {
var res = this.getemployees();
console.log(res);
}
}.init();
中使用其值
{{1}}
我希望很清楚,再见。
答案 1 :(得分:0)
有两种方法可以定义"功能":
不同之处在于,当您使用第二个时,可以在声明之前调用它。
var employeesList = {
getemployees: function () {
var data= getData("Employees/GetEmployees");
},
init: function () {
this.getemployees();
}
}.init();
//var getData = function (url) {
function getData (url) { // <====== change to this
var error = false;
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (data) {
return data;
},
error: function () {
return error = true;
}
});
};