Javascript对象

在JavaScript中,可以通过类的实例化来创建对象,也可以使用 对象字面量 直接创建对象。

对象字面量是一个 名/值 对列表,每个 名/值 对之间用逗号分隔,最后用一个大括号括起来。名/值对 表示对象的一个属性或方法,名和值之间用冒号分隔。

例如:

var  myCar={
        "price" : "$10,000" ,   // 属性
        "color" : "red" ,   // 属性
        "run" : function(){ return " 120 km/h "; }   // 方法
    }
var myHome={
        population : "10,000" ,
        area : "10,000" ,
        adress : {  // 属性
                country : "China" ,
                province : "shanxi" ,
                city : "xian"
            },
        say : function(){  // 方法
                return "My hometown is very beautiful ! ";
            }
    }

可以看出来:

  • 使用对象字面量可以创建单个对象,语义直观。

  • 对象字面量可以嵌套。

对象字面量也可以先创建,再添加属性和方法:

 

var zhangsan={}
zhangsan.name = "张三";
zhangsan.sex = "";
zhangsan.say = function(){
        return "嗨!大家好,我来了。";
    }
zhangsan.contact = {
    tel : "029-81895644",
    qq : "1370753465",
    email : "it@gmail.com"
}

 

JavaScript向对象添加属性和方法

JavaScript 可以在定义类时定义属性和方法,也可以在创建对象以后动态添加属性和方法。
动态添加属性和方法在其他面向对象的编程语言(C++、JavaScript等)中是难以实现的,这是JavaScript灵活性的体现。

例如:

<script>// 定义类
function Person(name,sex) {
    this.name=name;  // 定义一个属性 name
    this.sex=sex;  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        return "嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "";
    }
}

// 创建对象
var zhangsan=new Person("张三","");
zhangsan.say();

// 动态添加属性和方法
zhangsan.tel="029-81892332";
zhangsan.run=function(){
    return  " 我跑得很快! ";
}

// 弹出警告框
alert("姓名:"+zhangsan.name);
alert("姓别:"+zhangsan.sex);
alert(zhangsan.say());
alert("电话:"+zhangsan.tel);
alert(zhangsan.run());</script>

JavaScript遍历对象属性和方法

语法:
for(valueName  in  ObjectName){
    // 代码
}
其中,valueName 是变量名,保存着属性或方法的名称,每次循环,valueName 的值都会改变

例如:

var zhangsan={}
zhangsan.name = "张三";
zhangsan.sex = "";
zhangsan.say = function(){
        return "嗨!大家好,我来了。";
    }
zhangsan.contact = {
    tel : "029-81895644",
    qq : "1370753465",
    email : "itxueyuan@gmail.com"
}
var strTem="";  // 临时变量
for(value in zhangsan){
   strTem+=value+''+zhangsan[value]+"\n";
}
alert(strTem);

给定任意一个字符串,使用 for  in 语句来统计字符出现的个数:

function charNum(str){
    var charObj={}
    for(i=0,len=str.length;i<len;i++){
        if(charObj[str[i]]){
            charObj[str[i]]++;
        }else{
            charObj[str[i]]=1;
        }
    }
    var strTem="";  // 临时变量
    for(value in charObj){
        strTem+='"'+value+'"的个数:'+charObj[value]+'<br/>';
    }
    return strTem;
}
document.write(charNum("134775444637722991919"));

运行结果:

 

JavaScript访问对象属性和方法

属性是一个变量,用来表示一个对象的特征,如颜色、大小、重量等;方法是一个函数,用来表示对象的操作,如奔跑、呼吸、跳跃等。

对象的属性和方法统称为对象的成员。

在Javascript中可以使用“.”和“[ ]”来访问对象的属性

在Javascript中,只能用“.”来访问对象的方法

实际项目开发中,一般使用“ . ”来访问对象属性;但是在某些情况下,使用“ [ ] ”会方便很多,例如,JavaScript遍历对象属性和方法。

 

posted @ 2018-07-31 11:00  飞鱼0725  阅读(140)  评论(0编辑  收藏  举报