0
JS- 사람들, 작은 테스트 스크립트에 문제가 있습니다.개체의 함수
내가있어이 JS :
var button = {
lastClick: 0,
nowTime: new Date().getTime(),
go: function() {
var diff = this.nowTime - this.lastClick;
if (diff < 3000) alert('Too fast:' + diff/1000);
lastClick = this.nowTime;
}.bind(this)
};
그리고이 HTML :
<input type="button" value="Go" onClick="button.go();" />
가 go
α- 함수 내 button
-object에서 nowTime
및 lastClick
값을 사용해야하지만이 정의되지 않은 입니다을. 아무도 나를 도울 수 있습니까? 당신이 바인딩 (그래서 당신은 window
에 결합하는 것) 할 때 this
이 정의되어 있기 때문이다
그것은 button'과'button.go' '의 정의를 분리 할 필요는 없습니다, 그것은 무엇입니까? 또한 여기에는 'bind'가 필요하지 않습니다. alexP가'bind'의 인수로'this'를 가진 다른 것을 참조하지 않는지 궁금합니다. – MaxArt
예를 들어'setTimeout (button.go, 100);'과 같이 @MaxArt 바인드가 필요합니다. –
작동하는 것으로 보이지만 모든 클릭에 대해'lastClick'은'nowTime'과 같습니다. 그러나 nowTime은'getTime()'을 사용해야합니다 http://fiddle.jshell.net/8u4Du/5/ – alexP