一、我們經常困惑,對象究竟是什么,其實這是一種思維,一種意識上的東西,就像我們都說
世界是有物質組成的道理一樣,理解了下面的幾句話!對象也不是那么抽象!
1.javascript中的所有事物都是對象,字符串、數值、數組、函數!
而且js還允許自定義對象!
2、對象就只是帶有屬性和方法的特殊數據類型
3、屬性是與對象相關的值,方法是能夠在對象上執行的動作!
其實在這里的時候我們應該就有一個疑問要解決了,我們說函數是一個對象,為什么?
很簡單,js中所有的事物都是對象,函數自然包括在內,而且函數有自己的屬性個方法,這更加驗證了這一點!
我們對函數的屬性和方法還是有疑問,函數到底是用來干嘛的?答案在這里:函數可以封裝,可以調用,這是個什么概念,
有了這個東西,我們就可以寫很多共用的東西了!
我們學習對象的基本功應該學會一下幾點:
// 一.創建對象的方式:
// 1、直接創建:person = new Object()!直接創建了一個對象給了person!
// 2、使用函數對象構造器創建:其實就是創建函數(在js中,this通常指的是我們正在執行的函數本身,或者是指向該函數運行時所屬的對象!)
// function person(firstname,lastname,age,eyecolor)
// {
// this.firstname=firstname;
// this.lastname=lastname;
// this.age=age;
// this.eyecolor= function(){ alert("this is" + this.name + ".")};
// }
// 3、使用Json創建!
// person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};這種樣式也是在創建對象!
// 對象的屬性,我們可以添加,添加對象的方法其實就是附加在對象的上的函數!
// 二.針對第二種函數式的對象創建:這種方式的所有操作都需要先new出一個my對象,這個對象就是一個普通對象!
// var my = new person();
// 1、調用:
// 使用屬性:alert(my.firstname);
// 調用方法:my.eyecolor();
// 2、修改:
// 修改屬性:my.age = 18;
// 3、增加:
// my.name = "nihao"
// 4、刪除:
// delete hero.name;
// 另一種常見實例:
// var hero = {
// name : "zhangwuji",
// age : 18,
// tel : 1388888888,
// sayMe : function()
// {
// alert("this is zhangwuji.");
// }
// }
// 1 調用
// alert(hero.name);
// hero.sayMe
// alert(hero['name']);
// hero['sayMe']
//2 修改
// hero.name = "zhouzhiruo";
// alert(hero.nam
// hero.sayMe = function(){
// alert("this is zhouzhiruo.")
// }
// hero.sayMe
//3 增加
// hero.value = "zhouzhiruo";
// alert(hero.value);
// hero.sayVal = function(){
// alert("zhangwuji's value is zhouzhiruo.");
// }
// hero.sayVal
//4 刪除
// delete hero.name;
// alert(hero.name);
// delete hero.sayMe; 只有調用函數需要有()
// hero.sayMe
// var method = {
// add : function(a,b){
// return a + b;
// }
// }
// alert(method.add(1,2));