论坛首页 Web前端技术论坛

一句话谈javascript中的this

浏览 8917 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-03  

对于 JS中的this关键字的文章很多,我有一个简单的判断方法,一句话:

找找调用语句里面最后一个".","."前面的那个就是this,没有"."那就是window对象了

   发表时间:2008-05-03  
apply和call呢
0 请登录后投票
   发表时间:2008-05-04  
document.getElementById("btn1").onmouseover=ButtonManager.mOver;
0 请登录后投票
   发表时间:2008-05-04  
csf178 写道
apply和call呢

呀!这个不包括,
笑言:你这是高级用法,偶的是低级说法
不过严格的说,因为你这个高级用法内含了制定this的语法设施,所以你这个怎么说呢,找不到适合的词.
反正都制定了,低级说法就不适用了.
0 请登录后投票
   发表时间:2008-05-04  
s79 写道
document.getElementById("btn1").onmouseover=ButtonManager.mOver;

这句调用方法是onmouseover,执行代码是ButtonManager.mOver,
这个的this仍然是getElementById("btn1")呀,
偶的低级说法仍然成立
0 请登录后投票
   发表时间:2008-05-04  
其实就是附加在谁身上运行,this就是谁,有个朋友说的很经典:“有奶就是娘”,呵呵
0 请登录后投票
   发表时间:2008-05-04  
笨笨狗 写道
其实就是附加在谁身上运行,this就是谁,有个朋友说的很经典:“有奶就是娘”,呵呵

对呀,道理其实就是这么简单,犯不着为这个小概念去很推敲.
有奶就是娘.
0 请登录后投票
   发表时间:2008-05-04  
这种判断方法很蹩脚
var obj = {a:'test',test:function() {return this.a}};
with(obj) {
    test();
}
0 请登录后投票
   发表时间:2008-05-04  
ajaxgo 写道
这种判断方法很蹩脚
var obj = {a:'test',test:function() {return this.a}};
with(obj) {
    test();
}

还是这样说比较通用
引用

有奶就是娘

你的例子with(obj)就是奶.
用不确切的,但是可引申的语言来描述一些问题,果然很难被推到.
我最初的说法就是太确切了,搞得很不严谨(其实无大错).还是
引用

有奶就是娘

好.
0 请登录后投票
   发表时间:2008-05-04  
呵呵,以前我给this的总结是 “水性杨花”,考谁谁。
这里有一个新的说法,有奶就是娘。

都差不多,唯妇人与小人为难养也。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics