理解物件中說明了函式是物件,因為可以用 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...