javascript面向對象思想

JavaScript 使用函數來定義類。
語法:
function className(){
    // 具體操做
}php

function Person() {
    this.name=" 張三 ";  // 定義一個屬性 name
    this.sex=" 男 ";  // 定義一個屬性 sex
    this.say=function(){  // 定義一個方法 say()
        document.write("嗨!你們好,個人名字是 " + this.name + " ,性別是 " + this.sex + "。");
    }
}

在JavaScript中,建立對象(即類的實例化)使用 new 關鍵字。函數

this 關鍵字是指當前的對象。this

在JavaScript中,可使用「 . 」和「 [ ] 」來訪問對象的屬性。只能使用「 . 」來訪問對象的方法。spa

function Person() {
    this.name=" 張三 ";  // 定義一個屬性 name
    this.sex=" 男 ";  // 定義一個屬性 sex
    this.age=22;  // 定義一個屬性 age
    this.say=function(){  // 定義一個方法 say()
        return "嗨!你們好,個人名字是 " + this.name + " ,性別是 " + this.sex + ",今年 " + this.age +"歲!";
    }
}
var zhangsan=new Person();
alert("姓名:"+zhangsan.name);  // 使用「.」來訪問對象屬性
alert("性別:"+zhangsan.sex);
alert("年齡:"+zhangsan["age"]);  // 使用「[ ]」來訪問對象屬性
alert(zhangsan.say);   // 使用「.」來訪問對象方法

動態添加屬性和方法code

// 定義類
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());

 對象字面量是一個 名/值 對列表,每一個 名/值 對之間用逗號分隔,最後用一個大括號括起來。名/值對 表示對象的一個屬性或方法,名和值之間用冒號分隔。 對象

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 ! ";
            }
    }

 使用對象字面量能夠建立單個對象,語義直觀。blog

對象字面量能夠嵌套。ip

JavaScript 使用 for in 語句來遍歷對象的屬性和方法。for in 語句循環遍歷 JavaScript 對象,每循環一次,都會取得對象的一個屬性或方法。

語法:
for(valueName  in  ObjectName){
    // 代碼
}
其中,valueName 是變量名,保存着屬性或方法的名稱,每次循環,valueName 的值都會改變。 相似於php中的foreach($array as $key=>$val)ci

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);
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]+'\n';
    }
    return strTem;
}
charNum("http://www.itxueyuan.org");
charNum("134775444637722991919");
相關文章
相關標籤/搜索