自己通过视频学习JS的时候碰见一个例题,觉得挺有意思,记录下来,加深自己的理解
程序如下:
<html>
<head>
<meta charset="utf-8" />
<title>Page Title</title>
</head>
<body>
<script>
var f = (
function f() {
return "1";
},
function g() {
return 2;
}
)();
console.log(typeof f);
</script>
</body>
</html>
首先,分析程序
var f = (
function f() {
return "1";
},
function g() {
return 2;
}
)();
这里有一个“,”操作符,其作用是将操作符后面的结果输出,即
var f = (
function g() {
return 2;
}
)();
这时候在括号的后面还有一个执行操作符“()”,函数立即执行之后返回结果,即
var f = 2;
所以最后typeof的结果为number,而不是function。