js 物件 和 函式this

2022-05-29 09:06:14 字數 1419 閱讀 4248

一:物件建立的方法 

//

普通 字面量形式

var obj =}//

new 例項

var obj = new

object();

obj.name = '';

obj.age = "";

//建構函式

function

obj (name,age)

}var n = new obj('字串',33);

二:物件this指向

var a =

b()}

}a.fn();

當函式被儲存為乙個物件的屬性時,它就可稱為這個物件的方法。當乙個方法被呼叫時,this被繫結到這個物件上。如果呼叫表示式包含乙個提取屬性的動作(. 或 ),那麼它被稱為方法呼叫。例如:

var name = "window";

var obj =

};obj.sayname();

//kxy

sayname函式作為物件obj的方法呼叫,所以函式體中的this就代表obj物件

當乙個函式並非乙個物件的屬性時,那麼它就是被當做函式來呼叫的。在此種模式下,this被繫結為全域性物件,在瀏覽器環境下就是window物件。例如:

var name = "window";

function

sayname()

sayname();

sayname以函式呼叫模式呼叫,所以函式體中的this代表window物件。

如果在乙個函式前面加上new關鍵字來呼叫,那麼就會建立乙個連線到該函式的prototype成員的新物件,同時,this會被繫結到這個新物件上。這種情況下,這個函式就可以成為此物件的建構函式。例如:

function

obj()

var person = new

obj();

console.log(person.name);

//kxy

obj作為建構函式被呼叫,函式體內的this被繫結為新建立的物件person。

var name = "window";

var person =;

function

sayname()

sayname();

//window

kxywindow

總結:物件中方法 this指向的是物件的本身。 如果物件的函式內部包涵其他函式的話,裡面的函式this指向是window。  除非把this指向提取出來。

函式中的this指向,只要不是構造例項,那麼this 指向得是window。

JS函式和物件

1.函式 isnan 資料 parseint parsefloat number prompt.函式分為系統函式和自定義函式 function 功能體,函式 方法 可以接受若干個資料,返回處理的結果。用於封裝反覆執行的 餃子機 1 建立普通函式 function 函式名稱 呼叫函式名稱 2 建立帶有...

js 中物件和建構函式

物件 可以有屬性和方法 物件的建立方法 1 var obj 物件字面量 物件直接量 2 建構函式 2.1 系統自帶的函式 object array eg var obj new object 2.2 自定義要符合大駝峰式命名規則 function a var aa new a var first d...

JS的函式和物件二

複習 遞迴,在函式內部呼叫自身 return 匿名函式 function 建立函式,函式表示式 var fn function 自呼叫 function 函式 function add a add function 全域性函式 parseint parsefloat isnan encodeuri ...