《大话设计模式》用JavaScript语言描述(一)

阅读了本书网上试读的部分,本人用 JavaScript 语言重写该书中C#源程序的代码。

第一章1.1节的源代码重写:

ContractedBlock.gif ExpandedBlockStart.gif Code
Program = {
    main: 
function() {
        
if(!document.getElementById) return;
        
var A = document.getElementById('numA').value;
        
var B = document.getElementById('operator').value;
        
var C = document.getElementById('numB').value;
        
var D = '';
        
if(B == '+') {
            D 
= Number(A) + Number(C);
        }
        
if(B == '-') {
            D 
= Number(A) - Number(C);
        }
        
if(B == '*') {
            D 
= Number(A) * Number(C);
        }
        
if(B == '/') {
            D 
= Number(A) / Number(C);
        }
        document.getElementById(
'compute').onclick = function() {
            
return document.getElementById('result').innerHTML = D;
        }
    }
}

HTML代码:

ContractedBlock.gif ExpandedBlockStart.gif Code
<p>
    
<label for="numA">请输入数字A:</label>
    
<input type="text" id="numA" value="" />
</p>
<p>
    
<label for="operator">请选择运算符号(+、-、*、/):</label>
    
<input type="text" id="operator" value="" />
</p>
<p>
    
<label for="numB">请输入数字B:</label>
    
<input type="text" id="numB" value="" />
</p>
<p>
    
<button id="compute">计算</button>
</p>
<p>
    
<span id="result"></span>
</p>

 

第一章1.3节的源代码重写:

ExpandedBlockStart.gif Code
Program = {
    main: 
function() {
        
if(!document.getElementById) return;
        
try {
            
var sNumA = document.getElementById('numA').value;
            
var sOperate = document.getElementById('operate').value;
            
var sNumB = document.getElementById('numB').value;
            
var sResult = '';
            
switch(sOperate) {
                
case '+':
                    sResult 
= (Number(sNumA) + Number(sNumB)).toString();
                    
break;
                
case '-':
                    sResult 
=  (Number(sNumA) - Number(sNumB)).toString();
                    
break;
                
case '*':
                    sResult 
=  (Number(sNumA) * Number(sNumB)).toString();
                    
break;
                
case '/':
                    
if(sNumB != '0')
                        sResult 
=  (Number(sNumA) / Number(sNumB)).toString();
                    
else
                        sResult 
= '除数不能为 0';
                    
break;
            }
        }
        
catch(ex) {
            console.log(
'你的输入有误:' + ex);
        }
        document.getElementById(
'compute').onclick = function() {
            
return document.getElementById('result').innerHTML = sResult;
        }
    }
}

转载于:https://www.cnblogs.com/georgewing/archive/2008/12/18/1357216.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值