国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript 面向對象編程 萬物皆對象

2019-11-21 01:08:10
字體:
來源:轉載
供稿:網友
javascript和java、C#等語言一樣也具有面向對象的一些特征,但細比較的時候,會發現這些特征并不是真正的面向對象,很多地方都是利用對象本身來模擬面向對象,所以認為javascript不能算是面向對象編程語言,而是基于對象的語言。
在javascript中真的是萬物皆對象,new出來的東西是對象,方法是對象,連類也都是對象。下面分別來看一下對象、方法和類的對象特征。
1.拿內置的Date來看一下吧
復制代碼 代碼如下:

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

通過 time來操作其所引用的Date對象,可以方便的調用Date的對象所包含的一系列getXX()方法來獲取年月日時分秒等信息。
可以再看一下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也可以執行,helloRef()。同理也可以寫出以下代碼。
復制代碼 代碼如下:

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

function(){alert(“hello”)}是一個匿名方法,當然也是對象,用helloRef變量引用該方法對象后,可以通過helloRef來調用方法。
3.那么類呢?當然類也是對象,在javascript中,不像C#或java那樣有class關鍵字用來創建類,而是直接使用方法的關鍵字來創建類或者叫模擬類。
復制代碼 代碼如下:

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();

以上創建了一個Person類型,Person帶有構造參數username和age,通過創建的Person對象可以調用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來創建對象。
以上的幾個例子可能不是很恰當,但也可以一窺javascript中萬物皆對象。
下一節詳細的談一談javascript中的對象。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉义市| 莱西市| 吉水县| 磐安县| 兰西县| 集贤县| 栖霞市| 徐汇区| 高邮市| 浦江县| 弥渡县| 阿鲁科尔沁旗| 惠安县| 江津市| 翁牛特旗| 津南区| 宜良县| 台前县| 千阳县| 集贤县| 乐平市| 峨边| 广宗县| 博白县| 大新县| 黔江区| 花莲县| 阳城县| 赣榆县| 华安县| 黔南| 电白县| 长宁区| 思茅市| 盱眙县| 分宜县| 林甸县| 通道| 杂多县| 澄迈县| 眉山市|