• js +


    一、JavaScript 的 typeof 返回哪些字符串?

    答:返回Number,String ,Boolean,undefined,object,function;

    二、请写出以下运算结果:
    alert(typeof null);//object 返回的object

    alert(typeof {});//object 返回的object

    alert(typeof undefined);//undefined

    alert(typeof NaN);//number NaN的数据类型是number

    alert(NaN == undefined);//false NaN和任何数不相等

    alert(NaN == NaN);//false NaN和任何数不相等(包括自身)

    var str = "123abc";
    alert(typeof str++);//number 首先str要转化为数字结果是Number(false)结果是NaN,再++,再返回类型number;
    alert(str);//NaN

    三、例举至少 3 种强制类型转换和 2 种隐式类型转换?
    Number paresInt paresFloat Blooean String toString

    + - * / %

    四、

    console.log(typeof undefined === typeof NULL);//true(返回的都是undefined类型) 这里的NULL和null不同,NULL代表意义是声明了一个变量没有负值,则它为NULL
    console.log(typeof undefined == typeof NULL);//同理

    console.log(1<2<3);//true 先比较1<2返回结果是true,再用true和3比较,true转化后为1,1<3最后的结果是true。

    console.log(3>2>1);//false 同理

    console.log(1 / 0);//Infinity 无穷 (个人理解:当1除以0时,得到伤是0乘任何一个数结果都是0,即是商为无穷,即结果为Infinity)
    console.log(1 % 0);//NaN
    console.log(0 / 0);//NaN
    console.log(0 % 0);//NaN
    console.log(NaN / 0);//NaN
    五、
    1、分别写出以下每个变量的值;
    var result1 = 5 - null+false; //5 算式中没有字符串都转为数字,即是5-0+0=5;

    var result2 = "NaN" - 1+"abc";
    NaNabc
    var result3 ="3"+ 5 - 3;//前两个字符串拼接得到字符‘35’,后面再做减法时转化为数字35-3得到32;
    var result4 = 5 - "" + true; // 6 减法运算时把‘’转化为0,再做运算
    就是5-0+true,这时5+true两边没有字符,都转化为数字进行运算.
    var result5 = 5 - "2"+"abc"; //3abc 做减法时隐式转换5-2=3;再做加法时是字符串品接(因为+号两边有字符会将另一边数字转为字符)

    var result6 = 5 - null+2; //7


    2、分别写出每个输出的值;
    console.log(undefined==undefined) //true null和ubdefined 是相等的。

    console.log(undefined==0) // false undefined不能转换结果为false

    console.log(null==undefined) //true 虽然在== !=中Number不能转换null和ubdefined,但是==中两者是相等的

    console.log(4=='abc') ; //false

    console.log(NaN==NaN);//false NaN跟谁都不等

    console.log(NaN!=NaN);//true NaN跟谁都不等

    console.log(null==null);//true

    console.log(null!==undefined);//true 数据类型不等

    console.log(3!=="3")//true


    六、
    console.log(null == undefined);//true

    console.log(null == 0);//false 在计算时null首先不能转换在== 和!=中转化。

    console.log(null == []);// false 在计算时null首先不能转换在== 和!=中转化,再有就是Number([])在转对象时,会变成NaN

    console.log(null == null);//true

    console.log(null == undefined == null);//false 在比较null == undefined时返回true,再用true和null比较结果就是false

    console.log(null >= 0);// true 这里不是== != null可以被转换为0,再比较得到true

    console.log(null <= 0);// true 这里不是== != null可以被转换为0,再比较得到true
    true

    var h5course = false;
    var result = h5course / 0;(返回NaN,在做除法运算时,会调用Number转化false得到0,然后0/0返回的是NaN)
    if(result){
    console.log(result * 2 + '2' + 4);
    }else{
    console.log(!result * 2 + '2' + 4);// ‘224’NaN是假执行这一步 !result返回true,做乘法运算转化为1,1*2+'2'+4 拼接得到224;
    }

     

  • 相关阅读:
    Html5与CSS3(选择器)
    halo博客安装教程,一款优秀的java开源博客系统
    java的read方法
    css故障文字动画
    从软件公司的异同点讲起,聊聊未来的程序员该如何选公司和谋规划
    创建一个springboot项目
    每日算法训练
    Error running 'tomcat': Unknown error
    java: 程序包javax.servlet.http不存在
    idea配置阿里maven镜像
  • 原文地址:https://www.cnblogs.com/ximenchuifa/p/13393706.html
Copyright © 2020-2023  润新知