JavaScript的七种数据类型

基本类型

  • Number
    • 整数和小数:1 1.1 .1
    • 科学记数法:1.23e2
    • 二进制:0b11
    • 八进制:011(后来 ES5 添加了 0o11 语法)
    • 十六进制:0x11
  • String
    • 空字符串:''
    • 多行字符串:
  var s = '12345' +
              '67890' // 无回车符号
  或
  var s = `12345
  67890` // 含回车符号
  • Boolean
    • true
    • false
  • Symbol
  • Undefined
    • undefined
  • Null
    • null

undefined和null的区别?

1.变量没有赋值==>undefined
2.有一个对象object,现在不想赋值,==>null(推荐)
3.有一个非对象,不想赋值==>undefined
以上基本是前端惯例

复杂类型

  • Object(有简单类型组成)

易错点

image.png
  • delete ,in
var person={ name:'zhx',age:'18'}
delete person['name']   //true
person.name  //undefined
'name' in person //false
/**************************/
person['name']=undefined  
person.name  //undefined
'name' in person //true
image.png
  • for...in (遍历属性)
var person={....}
for(var key in person){  
  console.log(key)
}
  • typeof
    记住
    • typeof null //object
    • typeof fn // function
  • 想知道对象有哪些key

Object.keys(obj)

  • for...in

它遍历的是对象所有可遍历(enumerable)的属性,会跳过不可遍历的属性。
它不仅遍历对象自身的属性,还遍历继承的属性。

  • 当遇到乱码邮箱时

    • 解码atob():将解码通过base-64编码的字符串数据
    • 编码btoa():从二进制数据的字符串创建一个base-64编码的ASCII字符串
  • JS引擎不能自动识别编码大于0xFFFF的unicode字符

  • "".length 为 2 是因为 "" 是两个字符

  • 我想知道a是否声明,用什么代码

A.  if(a){...}
B. if(window['a']){}
C.  if(window.a){}
D   if('a' in window){}


选择 D

  • JavaScript内部是以16位(二个字节)utf-16存储对的

你可能感兴趣的:(JavaScript的七种数据类型)