这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
正在学习 javascript 的朋友们,可以把这个小练习做一做,加强自己编写代码的能力
/* 定义一个 Calculator 类 */
function Calculator(){
this.jisuan=function(num1,num2,oper){
var res=0;
switch(oper){
case "+":
res=num1+num2;
break;
case "-":
res=num1-num2;
break;
case "*":
res=num1*num2;
break;
case "/":
res=num1/num2;
break;
}
return res;
}
}
// 创建对象
var calculator=new Calculator();
/* 定义全局变量 */
var val=0; // 放置输入的值
var xval=0;// 保存转换 Number 类型的值
var temp=0; // 保存第一次输入的值
var oper="";// 保存输入的操作符
/* 获取输入数字 */
function inputEvent(e){
val=e.value
var xsval=document.getElementById("inp1");
xsval.value+=val; // 连续输入数字 (String 类型)
// 转换 Number 类型
xval=parseFloat(xsval.value);
}
/* 获取第一行的数据 */
function inputPCB(e){
//window.alert(e.value);
var xsval=document.getElementById("inp1");
if(e.value=="Clear"){
xsval.value="";
}else if(e.value=="Back"){
/* 这个功能还没有实现,有兴趣的朋友可以自己做一做 */
}else if(e.value=="POWER"){
// 计算平方
xsval.value=Math.pow(xsval.value,2);
}
}
/* 输入操作符 */
function inputOper(e){
oper=e.value;
//window.alert(typeof oper);
//oper=oper.substr(0);
if (e.value=="+"){
var xsval=document.getElementById("inp1");
// 保存上次计算结果,并对字符串进行转换 Number 类型
temp=parseFloat(xsval.value);
// 第一次输入的值设置为空
xsval.value="";
}else if(e.value=="-"){
var xsval=document.getElementById("inp1");
temp=parseFloat(xsval.value);
xsval.value="";
}else if(e.value=="*"){
var xsval=document.getElementById("inp1");
temp=parseFloat(xsval.value);
xsval.value="";
}else if(e.value=="/"){
var xsval=document.getElementById("inp1");
temp=parseFloat(xsval.value);
xsval.value="";
}
}
/* 计算结果 */
function inputEquel(e){
var xsval=document.getElementById("inp1");
if(e.value=="="){
//window.alert(xval);
// 调用对象方法
xsval.value=calculator.jisuan(temp,xval,oper);
}
}
input{
width:60px;
}
#inp1{
width:280px;
text-align:right;
}
来源: http://www.phperz.com/article/17/0709/280473.html