JavaScript 物件和函式的關係

2021-08-21 19:23:19 字數 980 閱讀 3613

理解物件中說明了函式是物件,因為可以用 instanceof函式來判斷。所以函式是一種物件,但是函式又有特殊的地方。陣列是物件的乙個子集,屬於包含關係,但是物件和函式之間的關係有點複雜,物件和函式的關係類似於雞生蛋,蛋生雞的關係。

例子:

function

person

(name,age)

var person = new person("asdf",18);

console.log(person);// person

這個例子說明了一點:函式可以建立物件

也許有人就會說:不對!!!。因為

var obj = 

var arr = [10,"t",true]

這樣的寫法不也是能建立乙個物件嗎。但其實這只是一種「快捷方式」,又名「語法糖」。以上**本質為:

var obj = new

object();

obj.name = "yfh";

obj.age = 18;

var arr = new

array();

arr[0] = 5;

arr[1] = "t";

arr[2] = true;

**中的array、object都為函式,也許還有人不相信,可以檢測一下array和object的型別。

console.log(typeof (object));//function

console.log(typeof (array));//function

這下相信了吧。可以總結物件都是通過函式建立的

現在是不是糊塗了—— 物件是函式建立的,而函式卻又是一種物件——天哪!函式和物件到底是什麼關係啊?

別著急!揭開這個謎底,還得先去了解一下另一位老朋友——prototype原型。

JavaScript學習記錄 三 函式和物件

1.函式 定義函式 function test arg 定義乙個同名函式 function test arg,arg1 第二個函式把第乙個函式覆蓋了 console.log test 1 返回nan console.log test 1,2 返回13 js中命名的引數只提供便利,但不是必需的,因為j...

JavaScript中物件和函式的區別

建立test1物件 var test1 test1.b bbb var a test1 a.b bbb 可以使用點語法向下遍歷訪問到物件的屬性和方法。建立test2函式 函式中的屬性和方法 1 私有屬性和方法 直接定義在函式體內的屬性和方法,屬於私有屬性和方法,只能在函式體內部使用,無法在外部使用函...

javascript 函式與物件(補充)

arguments.length顯示實參數目。var name 劉憲華 function star name,age var obj obj.sayname 張藝興 var o new star 許魏洲 24 obj.sayname.call o 許魏洲 obj.sayname.call windo...