好程序員Java學(xué)習(xí)路線分享JS中的面向?qū)ο螅贘S中,一般情況下我們都是直接寫函數(shù),直接調(diào)用,但是發(fā)現(xiàn)JS中也有new關(guān)鍵字,那么new關(guān)鍵字作為創(chuàng)建對象的關(guān)鍵字,給我們的感覺就是在JS中可以定義一個類,然后用new創(chuàng)建對象,那么在JS中如何做呢?我們先看如下案例,下面的案例是寫一個簡單的噴泉效果的。
站在用戶的角度思考問題,與客戶深入溝通,找到松原網(wǎng)站設(shè)計與松原網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋松原地區(qū)。window.onload = function(){
// 創(chuàng)建一個畫布對象
var canvas = document.createElement("canvas");
// 設(shè)置大小和顏色
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
canvas.style.backgroundColor = "#333333";
// 將畫布放置到body里
document.body.appendChild(canvas);
// 得到畫筆
var context = canvas.getContext("2d");
// 定義一個存放所有粒子的數(shù)組
var particles = [ ];
// 調(diào)用顯示粒子
showParticle();
// 創(chuàng)建并顯示粒子的方法
function showParticle(){
// 循環(huán)操作
setInterval(function(){
// 清空畫布
context.clearRect(0,0,canvas.width, canvas.height);
// 創(chuàng)建粒子
var p = new Particle(canvas.width0.5, canvas.height0.5);
// 將粒子裝入存放粒子的數(shù)組
particles.push(p);
// 循環(huán)更新所有粒子的位置
for (var i = 0;i<particles.length;i++) {
// 更新位置
particles[i].updateData();
}
}, 50);
}
function Particle(x, y){
// 原坐標
this.x = x;
this.y = y;
// 初始出現(xiàn)的改變的y的值
this.yVal = -5;
// 改變的x的值
this.xVal = Math.random()8 - 4;
// 定義一個下降的重力加速度
this.g = 0.1;
// 更新位置
this.updateData = function(){
// X值的變化
this.x = this.x + this.xVal;
// Y值的變化
this.y = this.y + this.yVal;
// 每次改變Y值速度的變化
this.yVal = this.yVal + this.g;
// 生成一個隨機顏色
context.fillStyle = "#" + Math.floor(Math.random()0xffffff).toString(16);
// 將更新位置后的圓繪制出來
this.draw();
};
// 繪圖的方法
this.draw = function(){
// 開始畫圖
context.beginPath();
// 畫圓
context.arc(this.x, this.y,5,0,Math.PI * 2, false);
// 結(jié)束畫圖
context.closePath();
// 填充
context.fill();
};
}
};
在以上案例中,我們使用了new Particle來創(chuàng)建了一個對象,可以看到Particle其實也是一個function,那么它跟其他的function有啥區(qū)別呢?我們發(fā)現(xiàn),里面定義的變量前面用了一個this關(guān)鍵字,定義的方法也用到了this關(guān)鍵字,這和Java中的this很相似,在上面的案例中,就可以使用new出來的變量來調(diào)用這些this后面的變量和函數(shù),這就是一種在JS中創(chuàng)建對象的方式。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
文章題目:好程序員Java學(xué)習(xí)路線分享JS中的面向?qū)ο?創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://jinyejixie.com/article10/ghggo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)