js中的call apply bind詳解

2021-09-10 21:43:36 字數 2039 閱讀 2788

bind

call

console.

log(

this);

//this == window window

window.color =

'red'

; document.color =

'blue'

;var color1 =

function

getcolor()

getcolor()

;//this指向window 'red'

// 以下均是執行 getcolor 函式,只不過是改變了this的指向

getcolor

.call()

;//this預設指向window 'red'

getcolor

.call

(this);

//this指向window 'red'

getcolor

.call

(window)

;//this指向window 『red』

getcolor

.call

(document)

;//this指向document 'blue'

getcolor

.call

(color1)

;//this指向color1 'orange'

//多個引數情況

var sum =

}var s1 =

//執行方法

//this指向該物件, this.a == 0 this.b == 0;

sum.

getsum(3

,4);

// 7

//改變this,指向s1 this.a == 1 this.b == 2;

sum.

getsum

.call

(s1,3,

4);// 10

<

/script>

function

getcolor()

window.color =

'red'

; document.color =

'blue'

;var color1 =

getcolor.(

);getcolor.(

this);

//this指向window 'red'

getcolor

.(window)

;//this指向window 『red』

getcolor

.(document)

;//this指向document 'blue'

getcolor

.(color1)

;//this指向color1 'orange'

//多個引數情況

function

getcolor

(color)}

function

setcolor

(color

)var set =

newsetcolor

('orange');

set.

get();

//orange

<

/script>

call(this, 引數1, 引數2, 引數3, …)

繫結函式,改變this指向

var foo =}}

foo.

click()

;//張三

<

/script>

var foo =

.bind

(this);

}}foo.

click()

;//張三

<

/script>

JS 理解JS中的物件

物件是object資料型別的值 物件是一組沒有特定順序的值 其中每個值都有乙個名字,從而,物件看起來就像是一組名值對。建立並定義物件的方法 1.var person new object person.name carolina person.age 29 person.job dream pers...

js中的函式

1 js中的string物件 1 內建的 2 屬性 length 3 方法 indexof 查詢子字串 匹配字串 查詢到了,返回 字串 出現的位置 沒有找到 返回 1 charat 返回指定位置的字串 substr 字串的擷取,可加兩個引數,形如 2,2 第二個位置 長度 也可以是乙個引數,則表示從...

js中with的用法

with語句用於設定 在特定物件中的作用域。它的語法 with expression statement 例如 var smessage hello with smessage alert touppercase 輸出 hello 在這個例子中,with語句用於字串,所以在呼叫touppercase...