<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script>
var obj2 = {
name:"ssss"
}
console.log(window.obj2);//Object {name: "sjr"}
</script>
</head>
<body>
<textarea id="output" cols="80" rows="10"></textarea>
<script>
(function(){
var obj = {//局部变量,只能在function中被引用,并不会成为谁的属性
name:"sjr"
}
console.log(this);//window(this指的是,调用函数的那个对象)
console.log(this.obj);//undefined
})()
</script>
</body>
</html>
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions
在函数执行时,this 关键字并不会指向正在运行的函数本身,而是指向调用该函数的对象.所以,如果你想在函数内部获取函数自身的引用,只能使用函数名或者使用arguments.callee属性(严格模式下不可用),如果该函数是一个匿名函数,则你只能使用后者.
arguments.callee
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments/callee
描述
callee 是 arguments 对象的属性。在该函数的函数体内,它可以指向当前正在执行的函数。当函数是匿名函数时,这是很有用的, 比如没有名字的函数表达式 (也被叫做"匿名函数")。