首页 > 代码库 > JavaScript中this
JavaScript中this
听燕十八老师的《JavaScript高级》课程,对JavaScript中this的笔记记录!
js中函数的四种调用方式:
1.作为普通的函数来调用时,this的值指向window;在ECMASCRIPT5标准中,如果this为null,则解释成undefined。
<script type="text/javascript"> console.log(window.xx);//undefined function t(){ this.xx=33; } t(); console.log(window.xx);//33 </script>
2.作为对象的方法来调用,this指向方法的调用者即母体对象,不管被调用的函数声明时属于方法还是函数。
var obj={ xx:999, t:function(){ console.log(this.xx) } } obj.t();//999 var dog={ xx:"wangwang" } dog.t=obj.t; dog.t();//wangwang
3.函数作为构造函数调用时,因为js中没有类的概念,创建对象是用构造函数来完成,或者直接用json格式来写对象
function Dog(name,age){ this.name=name; this.age=age; this.bark=function(){ console.log("my name is:"+this.name); } } var dog=new Dog("虎子",2); dog.bark(); //my name is:虎子
4.函数被call、apply调用,语法:
函数.call(对象,参数1,参数2......参数n)
function t(num){ console.log("我的真实年龄是:"+this.age); console.log("但我一般告诉别人我:"+(this.age+num)); } var man={name:"wangwu",age:28}; t.call(man,-10);
JavaScript中this
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。