javascript備忘筆記

來源:互聯網
上載者:User

標籤:

1.填充VO的順序是: 函數的形參 -> 函數申明 -> 變數申明。

首先,就是this值是如何定義的,當一個方法在對象上調用的時候,this就指向到了該對象上,例如:

var object = {
method: function() {
alert(this === object); //true
}
}
object.method();
function a() {
alert(this);
}
a.call(null);

瞭解一下call()是做什麼的,call方法作為一個function執行代表該方法可以讓另外一個對象作為調用者來調用,call方法的第一個參數是對象調用者,隨後的其它參數是要傳給調用method的參數(如果聲明了的話),例如:

function method() {
alert(this === window);
}
method(); //true
method.call(document); //false

第一個依然是true沒什麼好說的,第二個傳入的調用對象是document,自然不會等於window,所以彈出了false。

另外,根據ECMAScript262規範規定:如果第一個參數傳入的對象調用者是null或者undefined的話,call方法將把全域對象(也就是window)作為this的值。所以,不管你什麼時候傳入null,其this都是全域對象window,所以該題目可以理解成如下代碼:

function a() {
alert(this);
}
a.call(window);

所以彈出的結果是[object Window]就很容易理解了。

 

javascript備忘筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.