87,993
社区成员
发帖
与我相关
我的任务
分享
想再请问一下,这段代码中的输出该怎么解释呢?
<script src="js/jquery-1.11.1.js"></script>
<script>
var name = 'Tom';
$(function() {
var name;
console.log(typeof name); //**** : 输出的是undefined
if (typeof name === 'undefined') {
name = 'sam';
console.log("goodbye " + name);
} else {
console.log("hello " + name);
}
});
</script>`[/quote]
作用域的问题,会从当前作用域往window上找变量
javascript运行机制浅析
在控制台输入代码执行是window作用域,函数内申明过name了,只会在取函数内的name变量,var申明的变量没有赋值默认就是undefined
你去掉var那句,typeof会输出string,是窗口的名称[/quote]
谢谢版主
想再请问一下,这段代码中的输出该怎么解释呢?
<script src="js/jquery-1.11.1.js"></script>
<script>
var name = 'Tom';
$(function() {
var name;
console.log(typeof name); //**** : 输出的是undefined
if (typeof name === 'undefined') {
name = 'sam';
console.log("goodbye " + name);
} else {
console.log("hello " + name);
}
});
</script>`[/quote]
作用域的问题,会从当前作用域往window上找变量
javascript运行机制浅析
在控制台输入代码执行是window作用域,函数内申明过name了,只会在取函数内的name变量,var申明的变量没有赋值默认就是undefined
你去掉var那句,typeof会输出string,是窗口的名称
想再请问一下,这段代码中的输出该怎么解释呢?
<script src="js/jquery-1.11.1.js"></script>
<script>
var name = 'Tom';
$(function() {
var name;
console.log(typeof name); //**** : 输出的是undefined
if (typeof name === 'undefined') {
name = 'sam';
console.log("goodbye " + name);
} else {
console.log("hello " + name);
}
});
</script>`