this 的用处

firstblood_dota 2009-07-10 11:45:31

function test(b){
this.b=b;
.....
}


上面代码b是直接可以使用的,为什么要用this.b=b?用意何在?

...全文
28 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
monexus 2009-07-11
  • 打赏
  • 举报
回复
要看你的代码怎么写
var s = 'test';
function test(b){
this.b=b;
}
test(s); //结果是window.b为'test'
var t = new test(s); //结果是t.b为'test'

意义不一样
firstblood_dota 2009-07-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lsxjl 的回复:]
这里的其实是定义了一个 test类 this.b = b 为该类添加了一个b的属性 并将test(b)中的b的值赋给 test类的属性b
[/Quote]

如果只是单纯调用test函数,无需 new test,那是不是就没必要用this了?
monexus 2009-07-11
  • 打赏
  • 举报
回复
this是指当前的context(上下文)对象(默认是指window对象)
chen_ya_ping 2009-07-11
  • 打赏
  • 举报
回复
这里的this.b其实不是传来的参数b,其实this.b的b就是一个属性。其实js中函数就是相当于面向对象语言中的类。
licip 2009-07-11
  • 打赏
  • 举报
回复
一楼说得很对呀。
yuzi13631138780 2009-07-11
  • 打赏
  • 举报
回复
function test(b){
this.b=b;
this.method=function(){
document.write(this.b);
}
}
var t=new test('who');
t.method();
}
benjaminwu198818 2009-07-11
  • 打赏
  • 举报
回复
get point (jf)
ws_hgo 2009-07-11
  • 打赏
  • 举报
回复
var s = 'test';
function test(b){
this.b=b;//this.a=b;这里写a那么a的结果就是test
}
test(s); //结果是window.b为'test'
var t = new test(s); //结果是t.b为'test'
linuxlsx 2009-07-10
  • 打赏
  • 举报
回复
这里的其实是定义了一个 test类 this.b = b 为该类添加了一个b的属性 并将test(b)中的b的值赋给 test类的属性b

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧