有没有办法在JS中使用这样的东西:
select
[SQ. FT. AREA],
[1]
from test.dbo.SFR_MAIN
union all
Select
[SQ. FT. AREA],
MULTIPLIER * (select
m.[1]
from test.dbo.SFR_MAIN m
inner join
(
select max([SQ. FT. AREA]) as mmm
from test.dbo.SFR_MAIN
) tt on tt.mmm = m.[SQ. FT. AREA]
) as [1]
from test.dbo.mult
然后将其应用于对象:
onerror="wifioff()"
我收到一个错误,prop.a()不是函数,但是如果我调用x.a()就没有问题。不是非常重要,但我只是想知道,但找不到答案。
答案 0 :(得分:3)
在iterateObject
的调用中,在匿名函数中,prop
是字符串"a"
。此外,x
是您的原始对象。
要按对象(prop
)按名称(x
)访问媒体资源,您必须执行x[prop]
。要调用该函数,您应该在匿名函数中编写x[prop]()
。
答案 1 :(得分:1)
function iterateObject(obj, f) {
for (let prop in obj) {
if (obj.hasOwnProperty(prop)) {
f(obj[prop]);
// You were earlier just passing the key 'a' as a string to the function.
// Hence it was giving you an error
// You need to pass the function i.e obj[prop]
}
}
}
let x = {
a: function() {
console.log('hello');
}
};
iterateObject(x, (prop) => {
// You will get the function as prop
// To execute it you need to directly call it using prop()
prop();
});