TypeScript,JavaScript如何访问lambda变量 界面用户{ s:编号; b:弦; } 函数getPropertyName(propertyFunction:(a:users)=>any){ console.log(propertyFunction.toString());//ii=>ii.s>x&&ii.sii.s>x&&ii.s
如何访问getPropertyName函数中的变量x???来详细说明Jeremy Starcher以代码答案的形式所说的话。。改变你的需求:TypeScript,JavaScript如何访问lambda变量 界面用户{ s:编号; b:弦; } 函数getPropertyName(propertyFunction:(a:users)=>any){ console.log(propertyFunction.toString());//ii=>ii.s>x&&ii.sii.s>x&&ii.s,javascript,lambda,typescript,Javascript,Lambda,Typescript,如何访问getPropertyName函数中的变量x???来详细说明Jeremy Starcher以代码答案的形式所说的话。。改变你的需求: interface users { s:number; b:string; } function getPropertyName(propertyFunction: (a:users) => any) { console.log(propertyFunction.toString()); // ii => ii.s &
interface users {
s:number;
b:string;
}
function getPropertyName(propertyFunction: (a:users) => any) {
console.log(propertyFunction.toString()); // ii => ii.s > x && ii.s < 3
// how to read x variable here ?
}
(function() {
var x = 4;
getPropertyName(ii => ii.s > x && ii.s < 3);
})();
那是不可能的。为什么要这样做?必须在同一范围内有
x
和getPropertyName
。。不同的作用域,无法访问。或者修改getPropertyName
,这样它就可以接受一个额外的参数。。。
function test(func: (x:any, ii:any)=> any){
//do extra stuff here
}
var x, ii;
test(function (x, ii) {
//do stuff here
});