好程序员Java学习路线分享JS中的面向对象

好程序员Java学习路线分享JS中的面向对象,在JS中,一般情况下我们都是直接写函数,直接调用,但是发现JS中也有new关键字,那么new关键字作为创建对象的关键字,给我们的感觉就是在JS中可以定义一个类,然后用new创建对象,那么在JS中如何做呢?我们先看如下案例,下面的案例是写一个简单的喷泉效果的。

创新互联公司服务项目包括大同网站建设、大同网站制作、大同网页制作以及大同网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,大同网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到大同省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

window.onload = function(){

// 创建一个画布对象
var canvas = document.createElement("canvas");
// 设置大小和颜色
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
canvas.style.backgroundColor = "#333333";
// 将画布放置到body里
document.body.appendChild(canvas);
// 得到画笔
var context = canvas.getContext("2d");
// 定义一个存放所有粒子的数组
var particles = [ ];

// 调用显示粒子
showParticle();

// 创建并显示粒子的方法
function showParticle(){
// 循环操作
setInterval(function(){
// 清空画布
context.clearRect(0,0,canvas.width, canvas.height);
// 创建粒子
var p = new Particle(canvas.width 0.5, canvas.height 0.5);
// 将粒子装入存放粒子的数组
particles.push(p);
// 循环更新所有粒子的位置
for (var i = 0;i// 更新位置
particles[i].updateData();
}
}, 50);
}

function Particle(x, y){
// 原坐标
this.x = x;
this.y = y;
// 初始出现的改变的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);
    // 结束画图
    context.closePath();
    // 填充
    context.fill();
};

}

};

在以上案例中,我们使用了new Particle来创建了一个对象,可以看到Particle其实也是一个function,那么它跟其他的function有啥区别呢?我们发现,里面定义的变量前面用了一个this关键字,定义的方法也用到了this关键字,这和Java中的this很相似,在上面的案例中,就可以使用new出来的变量来调用这些this后面的变量和函数,这就是一种在JS中创建对象的方式。


网页标题:好程序员Java学习路线分享JS中的面向对象
文章URL:http://bzwzjz.com/article/pooepc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设公司 成都网站制作 营销网站建设 重庆网站建设 成都品牌网站建设 定制级高端网站建设 成都网站设计 企业网站建设 成都网站建设 H5网站制作 成都商城网站制作 专业网站设计 网站制作 外贸网站设计方案 重庆企业网站建设 企业网站设计 网站建设 重庆网站设计 成都定制网站建设 成都网站制作 高端网站设计 成都网站建设公司