JS函数中的this
程序员文章站
2022-06-30 19:13:24
...
JS函数中的this
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>函数中的this</title>
</head>
<body>
<script>
//函数中的this window
//方法中的this 调用方法的对象
//构造函数中的this 通过构造函数创建的对象
//事件处理函数中的this 触发事件的对象
//定时器执行的function中的this window
// setInterval(function(){
// //this --> window
// }.bind(),10);
//function中的this 最终是由function调用的时候决定的
var o = {
name:'zs',
say:function(){
console.log(this.name);
}
}
var o2 = {
name:'ls',
say:o.say
}
o2.say();
</script>
</body>
</html>
上面的代码输出为:ls
谁调用 say函数 this 就是谁
var o = {
name:'zs',
say:function(){
console.log(this.name);
}
}
var o2 = {
name:'ls',
say:o.say
}
//say函数 谁调用 this 就是谁
// o2.say();
//这里是赋值 不是调用 不能写成 var fn = o2.say();
var fn = o2.say;
fn();
//这里相当于window.fn() 输出为空, window下有name属性 为空
o.say.call(o2); 试试这个
上一篇: JS 函数this
下一篇: iphone6 上市时间敲定何时