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中的面向对象
一般加盟便当要用多少资金 哪些品牌可以去投资
中铁陨石哪里现金收购好又快
会昌哪家的瑜伽入门基本动作好学?
大口径TPEP防腐给水钢管生产厂家
供应志盛威华ZS-221防晒隔热涂料
安捷伦E3617A直流台式电源E3617A
开家普通的牛腩汤锅店利润怎么样
48芯批发供应终端箱光缆分纤箱
沃尔玛状告特斯拉 沃尔玛状告特斯拉是怎么回事?
轨重物推移机价格
德国SEW变频器MCLTPB050-5A3-4-10
垃圾围城处理,小型的垃圾填埋场好氧修复哪家公司做得好
供应华道商用四六头商用电磁煲仔炉-华道电磁炉厂家直销
提篮式婴儿 学步带 宝宝学步带