javascript基础之十二(JavaScript的代码容器)
2015-10-27 14:26
615 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>JavaScript的代码容器</title> </head> <body> <h2 style="text-align:center">现在时间</h2> <hr/> <h5 style=" text-align:center" id= 4000 "time">TIME</h5> <h5 style=" text-align:center" id="time2">TIME</h5> <h2 style="text-align:center">计算器</h2> <hr/> <h5 style=" text-align:center" id="calc1">calc</h5> <h5 style=" text-align:center" id="calc2">calc</h5> </body> <script> //当引用多个JavaScript的js文件时候,由于JavaScript都把直接定义的变量当做全局变量,可能引发函数失效,变量名失效等 //可以使用代码容器消除冲突 var pageCodeContainer={ result:window.document.getElementById("time"), show:function(){ this.result.innerHTML=new Date().toLocaleString(); }, }; setInterval(pageCodeContainer.show.bind(pageCodeContainer),1000); </script> <script>//以上代码隐藏性不够好 //改进,采用立即函数隐藏内部代码 var outputId="time2"; var myContainer=(function(outputEleId){ var result=document.getElementById(outputEleId); var show=function(){ result.innerHTML=new Date().toLocaleString(); }; return{show:show};//返回一个对象 })(outputId); setInterval(myContainer.show.bind(myContainer),1000); </script> <script> //使用面向对象的思想开发计算器 var Calculator=function(resultEleId){ this.resultEle=document.getElementById(resultEleId); }; //为了实现在对象实例中共享方法,代码方法放在原型中 Calculator.prototype={ add:function(x,y){ var result=x+y; this.resultEle.innerHTML=result; } }; var cal=new Calculator("calc1"); cal.add(1,2); //改进:为了实现代码的不混乱(放在 全局 区域),采用命名空间 隔开 var myNameSpace=myNameSpace || {};//定义命名空间 //接下来将代码放在命名空间中 myNameSpace.Calculator=function(resultEleId){ this.resultEle=document.getElementById(resultEleId); }; //为了实现在对象实例中共享方法,代码方法放在原型中 myNameSpace.Calculator.prototype={ add:function(x,y){ var result=x+y; this.resultEle.innerHTML=result; } }; var cal=new myNameSpace.Calculator("calc2"); cal.add(1,2); </script> </html>
相关文章推荐
- javascript基础之十(基于原型实现类的继承)
- javascript基础之九(JavaScript数据封装)
- javascript alert,confirm,prompt弹框用法
- javascript中的函数绑定
- 2015-10-27 js
- js 复制、全选功能
- IIS访问.json/.txt文件总是提示 “无法找到该页” IIS添加MIME扩展类型及常用的MIME类型列表
- angular JS 拦截器总结
- Angular JS 自动解析绑定内容中的html
- Javascript继承机制的设计思想
- 说说JSON和JSONP,也许你会豁然开朗
- js中substring和substr的用法
- js控制audio
- JS判断URL尾缀格式
- js阻止事件冒泡
- JS实现自动倒计时30秒后按钮才可用
- javascript 相关积累
- js字符串转换成数字,数字转换成字符串
- 一个关于js代码如何获取服务器时间问题
- js两次一样的正则表达式,结果却不同