欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS变量类型和计算常见面试题分析

程序员文章站 2022-04-15 23:28:22
变量类型和计算 值类型和引用类型 // 值类型 var a=100; var b=a; a=200; console.log(a+','+b);//a:200 b:100 //引用类型 var m={age:18}; var n=m; n.age=22; console.log(m.age+','+ ......

变量类型和计算

值类型和引用类型

    // 值类型
    var a=100;
    var b=a;
    a=200;
    console.log(a+','+b);//a:200  b:100

    //引用类型
    var m={age:18};
    var n=m;
    n.age=22;
    console.log(m.age+','+n.age);

 

typeof运算符

    console.log(typeof undefined);
    console.log(typeof 123);
    console.log(typeof '123');
    console.log(typeof true);
    console.log(typeof {});
    console.log(typeof []);
    console.log(typeof null);
    console.log(typeof console.log);

JS变量类型和计算常见面试题分析

 

 

字符串类型转换

    console.log(100+10);//110  运算
    console.log(100+'10');//10010  字符串拼接

 

== 类型转换

    console.log(10=='10');
    console.log(null==undefined);
    console.log(0=='');

JS变量类型和计算常见面试题分析

 

 双等号要慎用,因为并不是很严谨

 

if语句类型转换

    var a=true;
    if(a){
        ...
    }

    var b=100;
    if(b){
        ...
    }

    var c='';
    if(c){
        ...
    }

 

逻辑运算符类型转换

console.log(10&&0);
console.log(''||'abc');
console.log(!window.abc);

//判断一个变量会被转换为true还是false
var a=100;
console.log(!!a);

JS变量类型和计算常见面试题分析

 

 

何时使用===和==

//只有判断属性是否存在时,用==
if(obj.a==null){
    //这种写法相当于 obj.a===null || pbj.a===undefined
    //这是jquery源码中推荐的写法
}

//其余情况全部使用===

 

js中的内置函数

object  array  function  number  string  error  date  regexp  boolean

 

js按存储方式区分变量类型:

值类型  引用类型

 

如何理解json?

json是一个js对象

json.stringify({a:10,b:20})

json.parse('{"a":10,"b":20}')