第一种 使用基本数据类型

注意点: prompt 用户从浏览器输入的任何数据都是字符串型的,使用数字需要强制转换

// 简易对象器
function input1(){
    var num1 = prompt('请输入第一个数:');
    return parseFloat(num1);
}
function input2(){
    var num2 = prompt('请输入第二个数:');
    return parseFloat(num2);
}
// 1. 加法运算
function add(num1, num2){
    return num1 + num2;
}
// 2. 减法运算
function sub(num1, num2){
    return num1 - num2;
}
// 3. 乘法运算
function multiply(num1, num2){
    return num1 * num2;
}
// 4. 除法运算
function divition(num1, num2){
    return num1 / num2;
}
var str = '欢迎使用简易计算器:\n1. 加法运算;\n2. 减法运算;\n3. 乘法运算;\n4. 除法运算;\n5. 退出:\n请输入您的选项';
var option;
var result;
do{
    option = parseFloat(prompt(str));
    switch (option){
    case 1:
        result = add(input1(), input2());
        alert('结果是 ' + result);
        break;
    case 2:
        result = sub(input1(), input2());
        alert('结果是 ' + result);
        break;
    case 3:
        result = multiply(input1(), input2());
        alert('结果是 ' + result);
        break;
    case 4:
        result = divition(input1(), input2());
        alert('结果是 ' + result);
        break;
    case 5:
        alert('已退出程序');
        break;
    default:
        alert('输入错误,请重新输入');
        break;
    }
} while(option != 5);

效果展示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.使用对象,将简易计算器作为一个对象创建

注意点:构造函数命名首字母大写

 // 创建简易计算器, 一个运算类 注意构造函数命名 首字母大写
function Counter(num1, num2){
    //输入 数据 这里感觉好像有点多于,但是没有的话,又有点奇怪 可以把下面num1num2全部加上this
    this.num1 = num1;
    this.num2 = num2;
    // 加
    this.add = function(){
        return num1 + num2;
    }
    // 减
    this.sub = function(){
        return num1 - num2;
    }
    // 乘
    this.multiply = function(){
        return num1 * num2;
    }
    // 除
    this.divition = function(){
        return num1 / num2;
    }
}
function input1(){
    var num1 = prompt('请输入第一个数:');
    return parseFloat(num1);
}
function input2(){
    var num2 = prompt('请输入第二个数:');
    return parseFloat(num2);
}
var str = '欢迎使用简易计算器:\n1. 加法运算;\n2. 减法运算;\n3. 乘法运算;\n4. 除法运算;\n5. 退出:\n请输入您的选项';
var option = 0;
var result;
while(option != 5){
    option = parseFloat(prompt(str));
    if(option != 5){ //防止输入5后下一步还运行创建新运算对象,所以直接跳过去选择case5然后跳出循环
        var counter_new = new Counter(input1(), input2()); // 新的运算对象
    }
    switch (option){
    case 1:
        result = counter_new.add();
        alert('结果是 ' + result);
        break;
    case 2:
        result = counter_new.sub();
        alert('结果是 ' + result);
        break;
    case 3:
        result = counter_new.multiply();
        alert('结果是 ' + result);
        break;
    case 4:
        result = counter_new.divition();
        alert('结果是 ' + result);
        break;
    case 5:
        alert('已退出程序');
        break;
    default:
        alert('输入错误,请重新输入');
        break;
    }
} 
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐