灯开关
2015-10-16 21:14
465 查看
js的练手小程序
<!doctype html>
<meta lang=zh charset=utf-8>
<html>
<head>
<title>灯</title>
<p>
要求1:建立灯类,包含有一个属性,标志灯亮或者不亮;有构造函数<br>
要求2:灯类包含一个function,功能是开关,控制灯灭灯亮
</p>
<div>
<img style="width:30%;height:30%;" id="light" src="http://pic24.nipic.com/20120922/7170634_190125155114_2.jpg" alt="灯" onclick="changeStatus();">
</div>
</head>
<body>
<script>
function lamp(status){
this.status = status||false;
}
lamp.prototype.turn = function(element){
//点击开关,变化灯的状态
this.status = this.status==true&&false || this.status==false&&true;
element.src = this.status==true&&"http://pic24.nipic.com/20121012/11112171_104214552103_2.jpg" ||
this.status==false&&"http://pic24.nipic.com/20120922/7170634_190125155114_2.jpg";
}
var obj = new lamp(false);
function changeStatus(){
var element = document.getElementById('light');
obj.turn(element);
return false;
}
/*
// 测试开关灯,使用闭包实现,其实就是测试能否调用状态更改
// 并不是只有原型一种实现方式,但是目前还不知道两者之间具体的区别
function lamp2(status){
this.status = status;
return function(){
status = status==true&&false || status==false&&true;
return status;
}
}
var l = lamp2(true);
for(var i=0;i<5;i++){
console.log(l());
}
*/
</script>
</body>
</html>
<!doctype html>
<meta lang=zh charset=utf-8>
<html>
<head>
<title>灯</title>
<p>
要求1:建立灯类,包含有一个属性,标志灯亮或者不亮;有构造函数<br>
要求2:灯类包含一个function,功能是开关,控制灯灭灯亮
</p>
<div>
<img style="width:30%;height:30%;" id="light" src="http://pic24.nipic.com/20120922/7170634_190125155114_2.jpg" alt="灯" onclick="changeStatus();">
</div>
</head>
<body>
<script>
function lamp(status){
this.status = status||false;
}
lamp.prototype.turn = function(element){
//点击开关,变化灯的状态
this.status = this.status==true&&false || this.status==false&&true;
element.src = this.status==true&&"http://pic24.nipic.com/20121012/11112171_104214552103_2.jpg" ||
this.status==false&&"http://pic24.nipic.com/20120922/7170634_190125155114_2.jpg";
}
var obj = new lamp(false);
function changeStatus(){
var element = document.getElementById('light');
obj.turn(element);
return false;
}
/*
// 测试开关灯,使用闭包实现,其实就是测试能否调用状态更改
// 并不是只有原型一种实现方式,但是目前还不知道两者之间具体的区别
function lamp2(status){
this.status = status;
return function(){
status = status==true&&false || status==false&&true;
return status;
}
}
var l = lamp2(true);
for(var i=0;i<5;i++){
console.log(l());
}
*/
</script>
</body>
</html>
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets