复习1-变量类型和计算

题目:
1.JS中使用typeof能得到哪些类型
2.何时使用'===',何时使用'=='
3.JS有哪些内置函数
4.JS变量按照存储方式分为哪些类型,并描述其特点
5.如何理解JSON
知识点#####
  • 值类型vs引用类型
按照存储方式分为值类型和引用类型
引用类型 :数组、对象、null、函数。
其他是值类型。
 
//值类型
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
引用类型:对象、数组、函数,由于引用类型占用内存空间较大,所以会出现公用内存空间的情况,变量a,b是指向某个内存空间的指针。而var b=a时,其实是b又指向了与a相同的内存空间,{age:20}仅存在一份。
 
  • typerof运算符详解
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只能区分出函数,和值类型。

  
以下情况会发生强制类型转换:
  • 字符串拼接
'=='需要慎用,会试图进行类型转换使前后相等
  • if语句      
var a=true;
if(a){        //true }
var b = 100;
if(a){ //true  }
var a = '';
if(a){   //false  }
  • 逻辑运算符
console.log(10 & 0) //0 转换为true&&0
console.log(''||'abc') //abc 转换为false||'abc'
console.log(!window.abc) //true !undefined为true
  •  undefined 和 is not defined 不同,后者是报错,前者是未定义
 
解题#####
1.JS中使用typeof能得到哪些类型
undefined,string,number,boolean,object,function
2.何时使用'===',何时使用'=='
//仅有这种情况使用'==
'if(obj.a==null){
    //此时条件相当于obj.a===null||obj.a===undefined,简写形式
    //这是jQuery源码中推荐的写法
}

 

除此之外,其它情况均建议使用'==='
3.JS有哪些内置函数
Object,Array,Boolean,Number,String,Function,Date,RegExp,Error
4.JS变量按照存储方式分为哪些类型,并描述其特点
分为值类型和引用类型,值类型可以将数据分块存储在内存中,但是引用类型是多个变量共用一个内存块,引用类型的赋值是指定了一个指针,并不是真正的值的拷贝,它们之间是会相互干预的。
5.如何理解JSON
JSON是JS中的一个内置对象,也是一种数据格式
JSON.stringify({a:10,b:20}) //将对象转换为字符串
JSON.parse('{"a":10,"b":20}') //把字符串转换为对象

 

posted @ 2018-02-01 17:45  慕容文刀  阅读(132)  评论(0编辑  收藏  举报