Javascript中的类型强制究竟是什么?
例如,关于使用==而不是===?
我有以下功能
function hello() {
alert("hi!");
}
Run Code Online (Sandbox Code Playgroud)
拿这段代码:
var elem = document.getElementById("btn");
elem.onclick = hello;
Run Code Online (Sandbox Code Playgroud)
我的问题可能有点难以理解,所以请耐心看看:这段代码与普通调用有什么区别,或者是什么使得这段代码需要引用函数变量而不是常规调用?(hello();)
我怎么知道我应该在哪里提供函数的引用,以及什么时候我应该实际调用它?
我发现这个浏览:
在那里阅读答案后,我不理解函数引用和函数调用的定义和用法.然后我搜索了很多,但目前还不清楚在哪里使用什么.
你可以通过指出概念和用法的不同来帮助我理解这一点吗?我想把它作为未来程序员的参考.
在Angular应用中,我使用HttpClient和RxJS运算符进行一些API调用。例如:
return this.httpClient.put(url, JSON.stringify(treeOptions))
.pipe(
map(this.extractTreeData),
catchError(this.handleError)
);
Run Code Online (Sandbox Code Playgroud)
该extractTreeData方法基本上更改了API返回的一些属性:
private extractTreeData(res: any) {
let apiTree = res.data; // The tree comes inside the 'data' field
let newTree : any;
try {
let str = JSON.stringify(apiTree);
str = str.replace(/"children"/g, '"items"');
str = str.replace(/"allowdrag"/g, '"allowDrag"');
newTree = JSON.parse(str);
} catch(e) {
// Error while parsing
newTree = null;
}
return newTree || {};
}
Run Code Online (Sandbox Code Playgroud)
我需要根据树的类型进行更多更改。如何将这种类型传递给映射方法?我的意思是:
[...]
.pipe(
map(this.extractTreeData), <== HOW TO PASS VARIABLE 'treeType' TO extractTreeData
[...]
Run Code Online (Sandbox Code Playgroud)
提前致谢,