为了账号安全,请及时绑定邮箱和手机立即绑定

传递函数的this的问题

传递函数中的this具体指的是什么?是内容、ID还是什么呢?是不是有了this就相当于document.getElmentById("#");直接后面赋值就行了呢?this.style.display

正在回答

4 回答

http://blog.csdn.net/qietingfengdeyanse/article/details/47663131

这文章能解决this的问题,后边部分


0 回复 有任何疑惑可以回复我~

this就是指调用这个函数的对象

0 回复 有任何疑惑可以回复我~

this就是一个引用,它指向一个内部对象,例如你所说的内容、ID等等都可以是一个包装对象。不懂包装对象的话你可以这样理解:

var s = "test";    //创建一个字符串
s.len = 4;        //给它设置一个属性
var t = s.len;    //查询这个属性

观察上面的代码你可以发现,s明明是一个字符串,字符串怎么有资格设置属性呢对吧?但是你直接赋予字符串s一个len的属性,引擎也不会报错,因为引擎在执行这行代码的时候创建了一个临时对象(要区分开:这个临时对象是另外一个对象,并不是说把字符串s转换成了对象),并生成一个s.len的引用,这个引用就指向这个临时对象,同时你通过“=4”这段代码给这个临时对象赋予了一个值为4的len属性,随即就销毁这个对象。然后你会发现第3行代码输出undefined了,因为s的临时对象已经消亡了。分析到这里,相信你已经了解包装对象和this了。

你后面写的this.style.display很好理解了,假设你要调用的是一个标签,那么这里就是产生那个标签的临时对象,并修改那个标签的display属性,假设你this指向了一个p标签,this.style.display("block");就可以将这个p标签转变成块级元素


0 回复 有任何疑惑可以回复我~

在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)。当我们在页面中定义了函数 doSomething()的时候,它的owner是页面,或者是JavaScript中的window对象(或 global对象)。对于一个onclick属性,它为它所属的HTML元素所拥有,this应该指向该HTML元素。

0 回复 有任何疑惑可以回复我~
#1

慕先生4616747 提问者

this是指的标签还是标签内的内容呢 谢谢
2015-12-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
展开与收起效果
  • 参与学习       33641    人
  • 解答问题       179    个

通过效果展示与案例分析,教您实现不同类型的展开与收起效果

进入课程

传递函数的this的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信