本篇主要介紹js裏如何建立對象,以及for循環訪問對象的成員...編程
//方法一(推薦) var obj = { name : 'rainbow', run : function(){ console.log('跑步中...') } } //方法二(不推薦) var obj = new Object() obj.name = 'rainbow' obj.run = function(){ console.log('running...') } //方法三(推薦) var obj = {} obj.name = 'rainbow' obj.say = function(){ console.log('saying ...') }
ps:數組
for...in函數
//先定義一個對象 var obj = { name : 'rainbow', age : 20, sex : 'man', run : function(){ console.log('I'm running...') } } for ( var key in obj ){ if('function' == typeof obj[key]){ obj[key]() break } console.log(obj[key]) } //輸出結果以下 rainbow 20 man I am running... /*估計有些人會問,爲何不是用obj.key訪問呢?? 那咱們不妨打印看看,boj.key是什麼? 那請往下看:*/ for (var key in obj) { console.log(key , typeof key) console.log(obj.key)//undefined }
ps:咱們能夠知道,在js裏,for...in不能用點運算訪問,而是用obj[key]
訪問,而且方法名也能夠訪問。翻譯
for...ofcode
//1.使用js內置的對象,建立一個數組對象 var array = new Array(11,56,89,78,-12) console.log( typeof array )//object for ( var val of array){ console.log(val)//11,56,89,78,-12 } //2.用的自定義的對象 var obj = { name : 'rainbow', age : 20, sex : 'man', run : function(){ console.log('I'm running...') } } for ( var val of obj ){ console.log(obj)//obj is not iterable } 這裏報錯的意思是,obj這個對象是不可迭代的
總結對象
自定義對象
對象[屬性名]
,能夠訪問一個不存在的屬性,可是返回值爲undefined