math对象,数据类型转换,if else分支

1、math对象

 

方法 描述
ceil(x) 对数进行上舍入(天花板函数)
floor(x) 对数进行下舍入(地板函数)
max(x,y) 返回x,y最大值
min(x,y) 返回x,y最小值
pow(x,y) 返回x 的 y 次方
random() 返回0-1之间的随机数 (不包含0和1)(伪随机数,可能产生重复数值)
round(x) 四舍五入

Math.ceil(x) 结果为向上最近的一个整数,没有进行四舍五入

如:

var n4 = 3.3;
    var num = Math.ceil(n4); 
    alert(num);
结果为 4

Math.floor(x) 结果为向下最近的一个整数,没有进行四舍五入

var n1 = 1.9;
    var num = Math.floor(n1);
结果为  1
 
 // 返回数字的几次方
    var n1 = 2;
    var n2 = 3;
    var num = Math.pow(n1, n2);
    alert(num);
 
 // 3、随机返回1-10
    var n1 = Math.random() * 10;
    var n2 = Math.ceil(n1);
    alert(n2);

2、数据类型判断

typeof可直接获取变量数据类型

NaN也是一个number类型

变量的取值为null时, 变量的数据类型为object

Undefined取值的变量或者变量未赋值: 数据类型为undefined

Infinity(无穷大): 数据类型属于number类型

3、数据类型转换

(一)、字符串转化为数字类型

1、隐式类型转化

只要将数字的字符串与0相减(参与运算都可,加法运算除外)

2、强制类型转换

Number() parseInt() parseFloat()

  • Number() 方式转化:结果为原来的数字,如果有非数字的字符(false,true除外),那么转化失败,为NaN。

  • ParseInt()方法转化:从第一个字符开始判断,遇到小数点或非数字类型,不往后读取,保留的是整数部分, 如果后面跟有非数字的字符,能转化成功,保留前面数字。只含有非字符则转化失败NaN

  • ParseFloat(): 还是保留原来的数字,如果数字后面跟有非数字的字符,那么转化成功,保留数字。只含有非字符则转化失败NaN

(二)将数字类型转换为字符串类型

1、 隐式类型转换

通过prompt方法可以实现转化或者将当前数字和一个字符串相加

2、 强制类型转换(String(), 变量.tostring())

1、String()转换

n1 = String(n1);

2、 .toString()转换

n1 = n1.toString();

(三)将其他数据类型转换为布尔类型

1、隐式转换

var a=0 ; var b=!a; alert(b)

var a=1; var b=!a; alert(b)

2、强制类型转换 :Boolean()

a = Boolean(a);

 

 案例:

 // 1、用户输入一个三位数,用程序计算三位数字的和。

    var n1 = prompt("请输入三位数");
    // 百位数
    var n2 = parseInt(n1 / 100);
    var n3 = n2 * 10;
    // 十位数
    // var n4 = parseInt(n1 / 10 - n3);  //方法1
    var n4 = parseInt(n1 % 100 / 10); //方法二 取余
    // 个位数
    // var n5 = n1 - (n2 * 100 + n4 * 10);//方法一
    var n5 = parseInt(n1 % 10);
    var num = n2 + n4 + n5;

    alert("个位数为" + n5);
    alert("十位数为" + n4);
    alert("百位数为" + n2);
    alert("和为" + num);
    alert(typeof (num));

4、 逻辑运算符

概念:逻辑运算符用于测定变量或值之间的逻辑

4.1 || 或

  • 如果有一个结果为false 和一个结果为true进行或运算 结果为: true

  • 如果两个结果都为false , 或运算后结果为false

  • 如果两个结果都为true,进行或运算后结果为 true

4.2 && 且

  • 如果结果都为true,且运算后结果为true

  • 如果有一个结果为false,且运算后结果为false

  • 如果两个结果都为false,且运算后结果为false

4.3 !非

如果为true 非运算后 结果为false

如果为false 非运算后 结果为true

 

 

注意:逻辑运算必须是两个Boolean类型的数据进行 || && ! 运算

 

等号运算符,逗号运算符

运算符 含义
== 等于,比较的是内容
=== 全等,比较的是内容和数据类型
!= 不等于,判断的是内容
!== 不全等于,判断的是内容和数据类型

可用逗号隔开 如:

var a=5, b=6, c=7 ;

a=b+c, c=a+b ;

5、 If...else 条件分支

首先是一个“if”,它后面紧跟着一个括号,括号里则是一个条件,确切地说是一个布尔类型的表达式。当条件成立的时候,这个值是true,if里的语句将会得到执行;否则这个值是flase,else里的语句将被执行。

If(条件表达式) 条件表达式的结果必须为Boolean

{

如果条件表达式的结果为true,那么执行这里面的代码

}

Else

{

如果条件表达式的结果为false,那么执行这里面的代码

}

 

 案例:

 // 2、接收用户输入的数字,判断是否再20-70之间,如果在,请将数字输出,否则提示不在该范围内

    var n1 = prompt("请输入数字");
    //字符串类型转换为数字类型
    n1 = parseInt(n1);
    //要用并集运算符
    if (20 <= n1 && n1 <= 70) {
        alert(n1);
    } else {
        alert("该数字不在范围内");
    }
// 3、接收用户输入的值,该值和随机产生的随机数(0-99)作比较,如果用户输入的值大于随机数,输出您赢了,否则您输了
    var n1 = prompt();
    n1 = Number(n1);
    var n2 = Math.random() * 99; //0到99
    if (n1 > n2) {
        alert("您赢了");
    } else {
        alert("您输了");
    }

6、 If ...else if... else 嵌套

If(条件表达式)

{

结果为true 执行该处代码

}

else if(条件表达式)

{

结果为true 执行该处代码

}

else if(条件表达式)

{

结果为true 执行该处代码

}

else{

如果以上代码条件都不满足,执行该处代码

}

7、三元运算符

语法:条件表达式?结果1:结果2

含义:问号前面的位置是判断的条件,判断结果为boolean型,为true时执行结果1,为false时执行结果2。


    // 写一个程序,接收用户输入的三个数字,使用三元运算表达式找出最大值
    var n1 = prompt();
    var n2 = prompt();
    var n3 = prompt();

    n3 > (n1 > n2 ? n1 : n2) ? alert(n3) : alert(n1 > n2 ? n1 : n2);

 

星辰ꦿ.大海
原文地址:https://www.cnblogs.com/xc-dh/p/13515160.html