我想从对象的方法中调用一个函数。该函数在与对象相同的范围内声明:
function a() {
return {
propA: 'something'
}
}
var b = {
func: function() {
var a = a(); //Uncaught TypeError: a is not a function
console.log(a);
}
}
b.func();
有没有办法在a
中调用b.func
而不将其设置为window
对象的属性或将其作为参数传递?谢谢。
答案 0 :(得分:1)
只要对a()
a
内function a() {
return {
propA: 'something'
}
}
var b = {
func: function() {
var c = a();
console.log(c);
}
}
b.func();
的结果未被调用var b = {
func: function() {
var a;
a = a(); // so here a would be undefined
console.log(a);
}
}
并不重要,是的:
string sampleInput = @"String validation: **OrbitaryValue**=z:\Somepth\Somename\SQL";
答案 1 :(得分:0)
解释器将看到以下代码,如下所示,
setDetailIcon: function(icon) {
console.log(icon)
this.DetailIconURI = sap.ui.core.IconPool.getIconURI(icon);
},
基本上变量a被提升并引发了问题。为此使用不同的变量名。
答案 2 :(得分:0)
如果您将a
函数定义为自动添加到window
对象:
function a() {
return {
propA: 'something'
}
}
var b = {
func: function() {
var a = window.a();
console.log(a);
}
}
b.func();