华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
  當前位置:設(shè)計制作 > JavaScript > 文章內(nèi)容
  

javascript面向?qū)ο缶幊讨蝗f物皆對象

 [ 2017年8月25日 ] 【

javascript幾乎成了如今人員必學必會的一門語言,但很多人卻只停在了一些表單驗證等基礎(chǔ)操作層面上,在面向?qū)ο笳Z言大行其道的當下,我們需要去學習javascript的面向?qū)ο蟮闹R,以便更好的掌握javascript、為深入理解各種腳本框架打好基礎(chǔ)。

javascript和java、C#等語言一樣也具有面向?qū)ο蟮囊恍┨卣,但細比較的時候,會發(fā)現(xiàn)這些特征并不是真正的面向?qū)ο,很多地方都是利用對象本身來模擬面向?qū)ο,所以認為javascript不能算是面向?qū)ο缶幊陶Z言,而是基于對象的語言。

在javascript中真的是萬物皆對象,new出來的東西是對象,方法是對象,連類也都是對象。下面分別來看一下對象、方法和類的對象特征。

1.拿內(nèi)置的Date來看一下吧

var time = new Date();
var timeString = time.getFullYear() + "-" +
                 time.getMonth() + "-" +
                 time.getDate() + " " +
                 time.getHours() + ":" +
                 time.getMinutes() + ":" +
                 time.getSeconds();
document.write(timeString);

通過 time來操作其所引用的Date對象,可以方便的調(diào)用Date的對象所包含的一系列g(shù)etXX()方法來獲取年月日時分秒等信息。

可以再看一下String

var username = new String("hello world");
document.write(username.length);

變量username引用了new出來的字符串對象,通過username訪問字符串對象的length屬性。

2.方法也是對象

function hello() {
    alert("hello");
};
var helloRef = hello;
helloRef();

hello是一個方法,helloRef是一個引用了hello方法的變量,helloRef和hello一樣都指向了相同的方法對象。也就意味著helloRef也可以執(zhí)行,helloRef()。同理也可以寫出以下代碼。

var helloRef = function() {
    alert("hello");
};
helloRef();

function(){alert(“hello”)}是一個匿名方法,當然也是對象,用helloRef變量引用該方法對象后,可以通過helloRef來調(diào)用方法。

3.那么類呢?當然類也是對象,在javascript中,不像C#或java那樣有class關(guān)鍵字用來創(chuàng)建類,而是直接使用方法的關(guān)鍵字來創(chuàng)建類或者叫模擬類。

function Person(username, age) {
    this.Name = username;
    this.Age = age;
    this.Introduce = function() {
        alert("我叫" + this.Name + ",今年" + this.Age + "歲了。");
    };
};
var person1 = new Person("張三", 20);
person1.Introduce();

以上創(chuàng)建了一個Person類型,Person帶有構(gòu)造參數(shù)username和age,通過創(chuàng)建的Person對象可以調(diào)用Person所包含的方法Introduce。下面對代碼做一些修改。

function Person(username, age) {
    this.Name = username;
    this.Age = age;
    this.Introduce = function() {
        alert("我叫" + this.Name + ",今年" + this.Age + "歲了。");
    };
};
var PersonClass = Person;
var person1 = new PersonClass("張三", 20);
person1.Introduce();

重新聲明新的變量PersonClass并引用Person類,PersonClass和Person都指向了原來的Person所引用的類,所以也可以用PersonClass來創(chuàng)建對象。

以上的幾個例子可能不是很恰當,但也可以一窺javascript中萬物皆對象。

下一節(jié)詳細的談一談javascript中的對象。

本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
万年县| 华安县| 洪泽县| 麻栗坡县| 翼城县| 长汀县| 田阳县| 英吉沙县| 特克斯县| 灌南县| 翼城县| 黄浦区| 新巴尔虎左旗| 漳浦县| 浑源县| 沙田区| 兴仁县| 邹城市| 鄯善县| 沂源县| 贺兰县| 长宁区| 大余县| 汉中市| 溧水县| 工布江达县| 昌邑市| 左贡县| 连南| 丘北县| 石屏县| 织金县| 仙游县| 西乌珠穆沁旗| 镇平县| 黄浦区| 萨迦县| 沈丘县| 三门县| 昭觉县| 秦皇岛市|