一、我们经常困惑,对象究竟是什么,其实这是一种思维,一种意识上的东西,就像我们都说
世界是有物质组成的道理一样,理解了下面的几句话!对象也不是那么抽象!
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));