JavaScript基础知识——变量类型与计算

一、变量类型与计算

Q:1、JavaScript中使用typeof能得到那些类型?

  undefined,string,number,boolean,object,function

  2、何时使用'==='与'=='?

//仅有这种情况使用'=='
if(obj.a==null){
  //此时条件相当于obj.a===null||obj.a===undefined,简写形式
  //这是jQuery源码中推荐的写法
}

  此外,全部建议使用'==='

  3、JavaScript的内置函数有哪些?

  Object,Array,Boolean,Number,String,Function,Date,RegExp,Error

  4、JavaScript变量按照存储方式分为那些类型,描述一下特点。

  分为值类型和引用类型,值类型可以将数据分块存储在内存中,但是引用类型是多个变量共用一个内存块,引用类型的赋值是指定了一个内存地址,并不是真正的值的拷贝,它们之间是会相互干预的。

  5、如何理解JSON?

  JSON是JavaScript的一个内置对象

JSON.stringify({a:10,b:20}) //将对象转换为字符串
JSON.parse('{"a":10,"b":20}') //把字符串转换为对象

(1)值类型与引用类型

  a、值类型

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

  b、引用类型

// 引用类型
var a = { age: 20 };
var b = a;
b.age = 21;
console.log(a.age);// 21

  值类型能存储各自的值,不会相互影响。a变量存的是100,将b赋值为a的时候,b存储的也是100。引用类型(对象、数组、函数)指向某个内存空间地址。变量a、b都指向某个内存空间地址,当声明变量b,并赋值为a的时候,其实是把a的引用地址,赋值给了b。{age:20}是一份,当执行b.age = 21的时候,a.age也是21。

 (2)、typeof运算符详解

  

typeof undefined;//undefined
typeof 'abc'; //string
typeof '123; //number
typeof NaN; //number
typeof true; //boolean
typeof {}; //object
typeof []; //object
typeof null; //object
typeof console.log; //function

  typeof不能详细区分引用类型(对象、数组)的详细类型,但是可以详细区分function以及所有值类型。

(3)、字符串拼接

var a = 100 + 10; //110
var b = 100 + '10'; //10010
100 = '100' ;//true
0 == ''; //true
null == undefined; //true

(4)、if语句

var a = trueif ( a ) {
 //....执行
}
var b = 100;
if ( b ) {
//....执行
}
var c = ''
if ( c ) {
//....不执行
}

(5)、逻辑运算符

console.log(10 && 0) //0  转换为true&&0
console.log(''||'abc') //abc  转换为false||'abc'
console.log(!window.abc) //true  !undefined为true
原文地址:https://www.cnblogs.com/utrustme/p/8547596.html