Javascript简单的面向对象
Javascript simple object oriented
该类的想法是在屏幕上创建X个正方形,并随机更改其颜色。
这是:
function Blocks() {
var Size = 0;
this.setSize = function(inputSize) {
Size = inputSize;
};
this.createEnvironment = function() {
var Block, prevBlock, i;
for (i = 0; i < Size; i++) {
Block = document.createElement('div');
Block.className = 'block';
Block.id = i;
prevBlock = document.getElementsByTagName('div')[i];
prevBlock.parentNode.insertBefore(Block, prevBlock);
}
};
this.randBlock = function() {
return document.getElementsByTagName('div')[Math.floor(Math.random() * Size)];
};
this.randColor = function() {
var Chars = '0123456789ABCDEF'.split('');
var randColor = '#';
for (var i = 0; i < 6; i++) {
randColor += Chars[Math.floor(Math.random() * Chars.length)];
}
return randColor;
};
this.goCrazy = function() {
var Block = this.randBlock();
Block.style.background = this.randColor();
var t = setTimeout('this.goCrazy()', 1000);
};
}
以下是用法:
var object = new Blocks();
object.setSize(10);
object.createEnvironment();
object.goCrazy();
css代码:
.block是30x30像素,显示内联块。
在调用类之前,有一个空的div标记,用于参考在哪里创建块。
上面的所有代码,只显示一个彩色块,而不是所有的都将被着色,并且变化很快。
Chrome的警告:
Uncaught TypeError: Object [object DOMWindow] has no method 'goCrazy'
定时器函数(setTimeout
)在它们自己的作用域内执行。将代码封装到闭包中应该可以:
var t = setTimeout(function () { _self.goCrazy(); }, 1000);
看看:http://jsfiddle.net/TimWolla/BHeZR/进行演示。
相关文章:
- 面向对象的Javascript代码在IE7中不起作用
- 面向对象JavaScript中的私有函数
- 面向对象,控制器问题,初学者Javascript
- 面向对象的 JavaScript 共享方法变量
- 是否所有面向对象的语言都会在内存中创建大量重复信息
- 节点.js中的面向对象开发
- JavaScript中面向对象DOM操作的混乱混乱
- 尝试使用面向对象的javascript和AJAX
- 如何使用面向对象的 javascript 从控件调用函数
- JavaScript 面向对象的调用函数内部函数或调用函数 insede var
- 以面向对象的风格使用Meteor和javascript
- 传单JS面向对象的最佳方法
- 面向对象编程和onmousedown函数的问题
- 面向对象的WebGL上下文包装失败
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- jQuery中datalist的面向对象编程
- 在面向对象编程中删除表行
- Javascript简单的面向对象
- 尝试使用TypeScript为一个简单的导航栏实现一个面向对象的设计模型