美文网首页
JS练习3:基础知识总结(牛客)

JS练习3:基础知识总结(牛客)

作者: pp_5793 | 来源:发表于2018-10-18 22:42 被阅读0次

    1 三个等号的应用:

    var a,b;
    if(a===b){
    return 1;
    }
    else{
    return 0;
    }
    

    三个等号在这里表示不仅数值相等,其数据类型也相等。

    2 返回 Undefined的典型场景

    (1)对象没有定义

    var i;
    i//Undefined
    

    (2)函数没有传入参数,该参数相当于Undefined:

    function(x){
    return x;}
    f()//Undefined
    

    (3)函数没有返回值时。默认返回Undefined

    function(){}
    f()//Undefined
    

    3 布尔值

    (1)下面运算符会返回布尔值:
    前置逻辑运算符:!(not)
    相等运算符:===,==,!=,!==
    比较运算符:>,<,<=,>=,
    如果javascript预测某个位置是布尔值,那么除了以下六个为false,其余都为true
    Undefined
    NaN
    0
    ''和""(空字符串)敲重点!!!这里空字符串里连空格也不能带!!!!**
    false
    null
    注意
    空数组和空对象在这里会被判定为true。
    布尔值还可以被用来控制程序流量:

    if(""){
    
    console.log("true");
    }//返回值为空
    if([]){
    console.log("true");
    }//返回值为true
    if({}){
    console.log("true");
    }//返回值为true
    if(' '){//注意这里的单引号之间有空格
    console.log("true");
    }//返回值为true
    

    其他知识可以查阅https://wangdoc.com/javascript/types/number.html

    4 数值

    在javascript中 数值总是以小数的形式存贮。所以有

    1===1.0//true
    

    但是注意了如果是一个数以上做运算然后比较的话就不一定相等了;

    1.0+2.0===3.0//false
    (3.0-2.0)===(2.0-1,0)//false(要带括号)
    

    5与数值相关的全局方法

    (1)parseInt()该方法用于将字符串转换为整数;

    console.log(parseInt('123'));//输出123
    console.log(parseInt('   123'));//输出123,它会忽略掉前面的空格
    console.log(parseInt(1.3));//输出1
    console.log(parseInt('123'));//输出123
    console.log(parseInt([]));//输出NaN
    
    

    注意在这里parseInt()方法中如果输入得参数不是字符串,它会先将参数转换为字符串再将字符串转换为整数。注意在转为整数的时候,是一个一个转的,如果遇到转不了的会返回前面已经转好的整数

    console.log(parseInt('123jfio'));//输出123
    console.log(parseInt('123px'));//输出123
    
    console.log(parseInt('123*'));//输出123
    

    也可以用 parseInt()进行进制的转换;
    可以使用第二个参数来规定想要转换的二进制的类型,比如parseInt(100,2),就表示用二进制来表示100,
    注意如果第二位用NULL,0,或者undefined来表示则可可以忽略第二个参数,直接转成整数即可。

    如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
    (2)parseFloat()
    是将字符串转换成浮点型。
    如果参数满足科学计数法,它可以算相对应的数:

    console.log(parseFloat('3.14'));//3.14
    console.log(parseFloat('0.00314E+2'));//0.314
    

    如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回NaN。这一点和前面的parseInt()方法是一样的。

    
    parseFloat(true)  // NaN
    Number(true) // 1
    
    parseFloat(null) // NaN
    Number(null) // 0
    
    parseFloat('') // NaN
    Number('') // 0
    
    parseFloat('123.45#') // 123.45
    Number('123.45#') // NaN
    
    

    这里可以看出与Number()方法的不同。

    6 isFinite()

    isFinite()方法返回一个布尔值,表示某个值是否为正常的数值。

    isFinite(Infinity) // false
    isFinite(-Infinity) // false
    isFinite(NaN) // false
    isFinite(undefined) // false
    isFinite(null) // true
    isFinite(-1) // true
    

    7 isNaN()

    可以用来判断一个值是否为NaN。
    它是看该参数是否可以转化为数值,如果可以返回false,否则返回true,表示这是一个NaN。

    isNaN('Hello') // true
    // 相当于
    isNaN(Number('Hello')) // true
    isNaN({}) // true
    // 等同于
    isNaN(Number({})) // true
    
    isNaN(['xzy']) // true
    // 等同于
    isNaN(Number(['xzy'])) // true
    

    **注意数组和方法也会返回true,但是呢,一个数组或者是空数组都会返回false的原因是他们都能被转换成数值的。

    isNaN([]) // false
    isNaN([123]) // false
    isNaN(['123']) // false
    

    **注意这里的isNaN(['123']),相当于是先把它Number了一下,然后发现这是个数字,才返回false的。

    相关文章

      网友评论

          本文标题:JS练习3:基础知识总结(牛客)

          本文链接:https://www.haomeiwen.com/subject/ffaszftx.html