【JavaScript】前端面试基础篇 第二章 变量类型和计算

题目

  • JS中使用typeof能得到哪些类型
  • 何时使用=== 何时使用==
  • JS中有哪些内置函数
  • JS变量按照存储方式区分为哪些类型,并描述其特点
  • 如何理解JSON

知识点

变量类型

  • 值类型
var a = 100;
var b = a;
a = 200;
console.log(b); //100

变量存储对应的值,不相互影响

  • 引用类型
var a = {age:20};
var b = a;
b.age = 21;
console.log(a.age); //21
  • 变量存储对应的指针,若指向的数据被修改,则所有变量输出的数据都被修改
  • 引用类型主要包括数组、对象、函数三种数据类型
  • 引用类型的特点是可以无限制添加属性,为了节省空间,所以采用存储指针的方式
  • typeof运算符
typeof undefined;  //undefined
typeof 'abc'; //string
typeof 123;  //number
typeof true;  //boolean
typeof {};  //object
typeof [];  //object
typeof null  //object
typeof console.log  //function

typeof只能区分值类型的具体类型,无法区分引用类型的具体类型,只能区分出对象和函数

变量计算

  • 强制类型转换
    • 字符串拼接
    var a = 100 + 10;  //110
    var b = 100 + '10';  //'10010'
    
    • == 运算符
    100 == '100';  //true
    0 == ''; //true
    null = undefined;  //true
    
    • if语句
    var a = true;
    //循环体执行
    if(a){
        //...
    }
    //循环体执行
    var b = 100;
    if(b){
        //...
    }
    //循环体不执行
    	var c = '';{
        //...
    }
    
    • 逻辑运算
    console.log(10 && 0);  //0
    console.log('' || 'abc');  //'abc'
    console.log(!window.abc)  //true
    //判断一个变量是true还是false
    var a = 100;
    console.log(!!a);
    

题目解答

  • JS中使用typeof能得到哪些类型

undefined、string、number、boolean、object、function

  • 何时使用=== 何时使用==
if(obj.a == null){
    //这里相当于 obj.a ===null || obj.a === undefined 的简写
    //这是jQuery源码中推荐的写法
}

除了以上代码所示情况,都使用===,避免强制类型转换

  • JS中有哪些内置函数

数据封装类对象

  • Object
  • Array
  • Boolean
  • Number
  • String
  • Function
  • Date
  • RegExp
  • Error
  • JS变量按照存储方式区分为哪些类型,并描述其特点

按存储类型分为值类型和引用类型,值类型分块存在内存,引用类型共用一个内存块,达到节省空间的目的

  • 如何理解JSON

JSON是一个内置对象,同时也是一种数据格式,作为对象JSON有两个API

JSON.stringify({a:10,b:20});  //把对象转换成字符串
JSON.parse('{"a":10,"b":20}');  //把字符串转化成对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值