JS筆記 9 關於this

2021-09-24 08:15:20 字數 2329 閱讀 1822

1.給當前元素的某個事件繫結方法,當事件觸發方法執行的時候,方法中的this是當前操作的元素物件

obox.onclick = function()

複製**

2.普通函式執行,函式中的this取決於執行的主體,誰執行的,this就是誰(執行主體:方法執行,看方法名前面是否有「.」,有的話,點前面是誰this就是誰,沒有this是window
var obj = 

};obj.fn();

var fn = obj.fn();

fn();

複製**

3.自執行函式中的this ==>window
;function()();

複製**

4.定時器中的this
settimeout(function ())();

複製**

5.建構函式中的this ==> 建構函式中的例項

function foo() var f = new foo(); //=>操作符 構造例項

6.箭頭函式中的this ==> 箭頭函式上級作用域中的this

var key = 13;

var obj2 =

}obj2.fn();

複製**

7.全域性作用域中的this ==>window

8.this一旦被函式包裹,this的指向就需要重新判斷題目一:

function

fn()

var obj =

//=> 執行的是相同的方法(不同的是 函式執行方法的this是不同的)

obj.fn(); //=> this是obj

fn(); //=> this是window

~function()();

複製**

題目二:
var length = 5;

var fn = function () ;

var main = }

fn(); // window 5

arguments[0](); // arguments 1

},length: 10

};main.fn(fn);

複製**

題目三:
function

fn1()

function

fn2()

function

fn3()

function

fn4()

var ary = [fn1, fn2, fn3, fn4];

ary[1](); // ary

var arry = ary[1];

var arry = function

fn2() ;

arry();

複製**

題目四:
var num = 5; // 

var obj = ;

})()

};var fn = obj.fn;

fn();

obj.fn();

obj.fn();

console.log(this.num, obj.num); // 6

複製**

題目五:
var num = 1; //3 5

var obj = ; // num = 4

obj.fn = (function (num) ;

})(this.num);

var fn = obj.fn;

fn(1);

obj.fn(2);

console.log(num, obj.num); //5 4

複製**

題目六:
document.onclick = new

newnew fn;

function

fn()

return

function () (沒有函式名)

//第乙個new 第三次執行,new {} => 報錯

};};複製**

題目七:
document.onclick = function () , 1000);

};function

fn() 例項

};複製**

題目八:
document.onclick = function () , 1000);

};function

fn() 例項

};複製**

js學習筆記9

29.p190 超類與子類 function rectangle w,h 屬性方法 rectangle.prototype.area function rectangle.max function a,b function positionedrectangle x,y,w,h positioned...

106 js筆記9 js類和建構函式

通過建構函式來定義 大駝峰命名法 通過new來呼叫 對比工廠法,不用手動建立物件和返回值 function person name,age 簡潔,識別物件的具體型別 每個物件都可以訪問乙個名稱叫做constructor的屬性,屬性指向建立該例項的建構函式,通過constructor判斷乙個物件是否屬...

關於JS函式部分的筆記

首先來理解一下什麼事物件 ecma 262是這樣定義的 無序屬性的集合,其屬性可以包含基本值 物件或者函式 也就是說,物件是 名 值 對的集合。var person new object person.name jake person.age 18 person.sayname function 上...