Сообщение от rumwi
|
Да, здесь я действительно ерунду написал. Извиняюсь.
|
Сообщение от rumwi
|
thisTest = this.test
|
а здесь, конечно, нет
http://learn.javascript.ru/this
и множество других статей, где описано с чем это едят
основа - функция создаёт новый контекст и this определяется во время вызова
в твоём примере контекстом является объект document, ты вызываешь функцию (метод) ready этого объекта, this соответственно указывает на него
у меня контекстом является window
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function(){
var x = {
//name: $("#project td.first").text(),
test: "Test string",
thisObject: this,
thisTest :this.test
}
alert(this) // -> [Object HTMLDocument]
alert(console.log(this)) // -> undefined
})
</script>
function X() {
var that = this;
this.test = "Test string";
this.thisTest1 = function (str) {
return this.test + str;
}
this.thisTest2 = function (str) {
return this.thisTest1(that.test);
}
this.thisTest3 = function () {
return this.thisTest1.call(this, this.test);
}
}
alert(new X().test);
alert(new X().thisTest1(1));
alert(new X().thisTest2());
alert(new X().thisTest3());