变量类型和计算(1)

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

值类型

  • 从内存来说值类型是把每一个值存储在变量类型的每一个位置
  1. var a = 100;
  2. var b = a;
  3. a = 200
  4. console.log(b);//100

引用类型

  • 把a赋值*-成一个对象,a的位置是通过指针指向一个位置
  • 把b赋值成a,其实是定义一个b,b的指针指向了那个对象位置
  • 也就是有两份age:20的对象
  • 对象的引用,就相当于复写一个对象,这两个对象之间相互独立
  • 引用类型:对象、数组、函数
  1. var a ={age:20};
  2. var b = a;
  3. b.age = 21;
  4. console.log(a.age); //21
  • typeof运算符
  1. typeof undefined //undefined
  2. typeof 'abc' // String
  3. typeof 123 //number
  4. typeof true //boolean
  5. typeof {} //object
  6. typeof [] //object
  7. typeof null //object
  8. typeof console.log //funciton

变量计算-强制类型转换

  • 字符串拼接
  1. var a = 100 + 10;//110
  2. var b = 100 + '10';//10010
  • == 运算符
  1. 100 == '100' //true
  2. 0 == '' //true
  3. null == undefined //true
  • if语句
  1. var a = true;
  2. if(a){
  3. //....
  4. }
  5. var b = 100;
  6. if (b) {
  7. //....
  8. }
  9. var c = '';
  10. if (c) {
  11. //...
  12. }
  • 逻辑运算
  1. console.log(10 && 0); //0
  2. console.log('' || 'abc'); //abc
  3. console.log(!window.acb); //true
  4. //判断一个变量会被当做true还是false
  5. var a = 100;
  6. console.log(!!a);//true

变量类型和计算(2)

JS中使用typeof能得到的类型

  1. //问题:JS中使用typeof能得到哪些类型
  2. typeof undefined //undefined
  3. typeof 'abc' // String
  4. typeof 123 //number
  5. typeof true //boolean
  6. typeof {} //object
  7. typeof [] //object
  8. typeof null //object
  9. typeof console.log //funciton
  • 总结来说typeof可以得到
    undefined、String、number、boolean
    可以区分值类型,但对于引用类型无法很细的区分,只能区分函数。
  • 尤其是
    typeof null object
    它是一个引用类型

何时使用===和==

  1. //问题:何时使用===何时使用==
  2. if (obj.a == null) {
  3. //这里相当于 obj.a === null || obj.a === undefined,简写形式
  4. //这是jquery源码中推荐的写法
  5. }

JS中的内置函数

  1. //问题:JS中有哪些内置函数----数据封装类对象
  2. //作为构造函数的作用
  3. Object
  4. Array
  5. Boolean
  6. Number
  7. String
  8. Function
  9. Date
  10. RegExp
  11. Error

JS按照存储方式区分变量类型

  1. //JS 变量按照存储方式区分为哪些类型,并描述其特点
  2. //值类型
  3. var a = 10;
  4. var b = a;
  5. a = 11;
  6. console.log(b); // 10
  7. //引用类型
  8. var obj1 = {x:100}
  9. var obj2 = obj1;
  10. obj1.x = 200;
  11. console.log(obj2.x); // 200
  • ES中,引用类型是一种数据结构,用于将数据和功能组织在一起

变量类型和计算(3)-理解JSON

  1. //问题:如何理解JSON
  2. //JSON只不过是一个JS对象
  3. //JSON也是一个数据格式
  4. JSON.stringify({a:10,b:20});
  5. JSON.parse('{"a":10."b":20}')