function
person()
person()
;//輸出
此時this的指向是並不是person,而是 window ,因為函式也是window物件裡面的, 因此輸出的是window。
var name =
"小明"
;var person=
} person.
showname()
;// 輸出小紅
此時的this指向person物件
function
person
(name)
var personx=
person
("翠花");
//personx沒有new 沒有例項化
// console.log(personx.name); //undefined 報錯
//建構函式沒有通過new構造物件,相當於window物件呼叫 person("翠花")方法。
// 所以this指向的是window物件,並進行賦值window.name="翠花"。
console.
log(window.name)
;//輸出翠花
var persony =
newperson
("秋香");
//例項化建構函式 得到例項物件
console.
log(persony.name)
;//輸出 秋香
personx 物件因為沒有new進行例項化,因此如果直接personx.name 呼叫會報錯,此時的this指向window,通過window.name 可以將翠花進行輸出。
//建構函式沒有通過new構造物件,相當於window物件呼叫person(「翠花」)方法。
// 所以this指向的是window物件,並進行賦值window.name=「翠花」。
persony 物件經過new進行例項化之後,此時this就指向persony ,因此可以直接輸出persony.name 。
關於js中的this指向問題
1.在普通函式和全域性環境下 this指向window function demo demo console.log this x 102.建構函式 建構函式就是函式new出來的物件,所以this指向該物件 function foo var foo newfoo console.log foo.x ...
關於JS中this的指向問題
例項在方法中,this 指的是所有者物件。單獨的情況下,this 指的是全域性物件。在函式中,this 指的是全域性物件。在函式中,嚴格模式下,this 是 undefined。在事件中,this 指的是接收事件的元素。this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到...
js中this的指向
lang en charset utf 8 深入理解thistitle head 它代表函式執行時,自動生成的乙個內部物件,只能在函式內部使用。隨著函式使用場合的不同,this的值會發生變化。但是有乙個總的原則,那就是this指的是,呼叫函式的那個物件。demo1 function demo1 呼叫...