js中的this關鍵字

2021-09-27 02:00:43 字數 1623 閱讀 5161

//普通函式  window

functionfn(

)fn()

;//window

//事件函式 指向事件源

var btn = document.

queryselector

('button');

btn.

onclick

=function()

//定時器 中也是window

setinterval

(function()

,1000);

//預保留this

//事件函式中巢狀了內層函式,需要在內層函式中使用this得到事件源(this指向window)

var btn = document.

queryselector

('button');

btn.

onclick

=function()

,1000);

}//this在物件的方法中,指向 呼叫這個方法的物件

var obj =

, c:}}

obj.

act();

obj.c.b(

);

>

>

charset

="utf-8"

>

>

title

>

head

>

>

>

functionfn(

)// fn.call();

// fn.call(2);

fn.call(2

,3,4

,5,6

);/* call

1,沒有引數fn.call() 就相當於函式呼叫

2,有引數

第乙個引數,就是這個函式呼叫時的this指向,從第二個引數開始,會當做實參傳入

* */

functionfn(

) fn.(2

,[3,

4,5,

6]);

/* 有引數

第乙個引數是函式呼叫時的this指向,只有兩個引數,第二個引數,必須是陣列,會將陣列解析出來,陣列的每個元素都會當成乙個實參傳入

* */

script

>

body

>

html

>

>

>

charset

="utf-8"

>

>

title

>

head

>

>

>

functionfn(

)var fn2 = fn.

bind(2

);fn2();

/* bind呼叫,返回乙個函式副本,這個函式副本中的this指向,指向了bind呼叫時穿的引數

* */

script

>

body

>

html

>

JS中的this關鍵字

js中的this代表的是當前行為執行的主體 js中的context代表的是當前行為執行的環境 區域 this是誰和函式在哪定義的和在哪執行的都沒有任何的關係,這和它的執行主體有關。function fn var obj fn window obj.fn obj function sum sum wi...

js中this關鍵字詳解

首先,js對於this,我們有乙個原則,那就是this指向的是呼叫該函式的物件。下面分四種情況 情況一 純粹的函式呼叫 這是函式的最通常用法,屬於全域性性呼叫,因此this就代表全域性物件global,也就是指向windows 請看下面這段 它的執行結果是1。複製 如下 function test ...

Js中delete關鍵字

用來刪除物件的屬性,還可以用來使用var宣告變數 delete關鍵字有返回值,豔紅來表示刪除屬性是否刪除成功 true false 如果刪除的是不存在的屬性,則返回的是true var 變數名 delete 物件名.屬性名 案列 var obj console.log obj.name 張三 var...