zoukankan      html  css  js  c++  java
  • js经典试题之数据类型

    js经典试题之数据类型

    1:输出"B" + "a" + + "B" + "a"的值:

    答案:BaNaNa。

    分析:因为+"B"的意思就是把这个字符串转化为数字,但是因为"B"不能转化为数字,所以只能变成NaN(not a number)了。

         另外因为字符加上任意类型都会把后面的类型转化为字符,使得 NaN 变成了"NaN"

      

    2:[] == [] 的值为?

    答案:false。

    分析:当两个值都是对象 (引用值) 时, 比较的是两个引用值在内存中是否是同一个对象. 因为此 [] 非彼 [], 虽然同为空数组, 确是两个互不相关的空数组, 自然 == 为 false。

    3: [] == ![] 的值为?

    答案:true

    分析:解释这个“等式”至少要四句话,涉及到了 JavaScript 的运算符优先级 、宽松相等(即 ==)的判断过程以及强制类型转换

     1. 等号右边有 ! ,优先级比 == 更高,优先计算右边的结果。 [] 为非假值(参考,什么是假值:Falsy - Glossary),所以右边的运算结果为 false,即:

    ![] ==> false  // 此处表示转换过程,下同
    

    2. == 的任意一边有 boolean 类型的值时先把这个值转换成 number 类型,右边转换成了 0 ,即:

    Number(false) ==> 0

    3. == 的两边分别是 number 和 object 类型的值时,把 object 转换成 number 类型,需要对 object 进行 ToNumber 操作,即:

    Number([].valueOf()) ==> 0
    

    4. 至此,== 两边的值都变成 0 了,显然是成立的

    4:列举js的数据类型:

    答案:

    基本数据类型:Number,String,Boolean,Undefined,Null

    复杂数据类型:Object,Array,Function,RegExp,Date,Error

    全局数据类型:Math

    5:null == undefined的值?

    答案:true。

    分析:undefined值是通过null派生出来的,==时它会自动转化为null,所以返回true。不过如果用严格比较符===,不发生转化,将返回false。

    6:下面哪些属于JavaScript的typeof运算符的可能结果:

    typeof Symbol()    //"symbol"
    typeof Number()    //"number"
    typeof String()    //"string"
    typeof Function()    //"function"
    typeof Object()    //"object"
    typeof Boolean()    //"boolean"
    typeof null    //"object"
    typeof undefined    //"undefined"
    

    number、string、boolean、undefined、object、function、symbol

    7:javascirpt中的数字在计算机内存储为多少Byte?

    答案:8Byte

    解析:

    1.Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)
    2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。
  • 相关阅读:
    商城问题
    web基础重难点
    业务流程
    主流框架面试题
    数据库:索引-引擎-优化
    【jquey代码】基于选中的checkbox 删除对应的一行数据
    javascript中获取json对象的value,拼接到页面上
    【json对象和json格式的字符串】
    【idea中创建springMVC项目的2个坑】不识别@Autowired 以及 Mapper.xml的配置
    【eclipse和idea】创建spring项目时的一处不同
  • 原文地址:https://www.cnblogs.com/momozjm/p/7755554.html
Copyright © 2011-2022 走看看