javascript知识梳理之数据类型

javascript基础知识(在javascript中 = 是赋值符号)

变量

合法的变量命名规则:大小写英文、数字、 $ 和 _ 的组合,且不能用数字开头。

var a;       //声明变量
var s = 2;   //声明变量并赋值

 

javascript有 8种 数据类型:

  • Number        //数字
  • Boolean             //布尔
  • String                 //字符串
  • Array       //数组
  • Object                //函数
  • null                     //null
  • undefined           //undefined
  • symbol               //符号(es6新增

Number

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带

123;              // 整数123
0.456;            // 浮点数0.456
1.2345e3;         // 科学计数法表示1.2345x1000,等同于1234.5
-99;              // 负数
NaN;              // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity;         // Infinity表示无限大,当数值超过了Number所能表示的最大值时,就表示为Infinity

Boolean

布尔(逻辑)只能有两个值:true 或 false

var x=true
var y=false

 String

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。您可以使用单引号或双引号:

var answer="Nice to meet you!";
var answer="He is called 'Bill'";
var answer='He is called "Bill"';

Array

数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型

例如:

[1, 2, 3.14, 'Hello', null, true];

上述数组包含6个元素。数组用 [] 表示,元素之间用  ,  分隔。

另一种创建数组的方法是通过Array()函数实现:

new Array(1, 2, 3); // 创建了数组[1, 2, 3]

然而,出于代码的可读性考虑,强烈建议直接使用 [] 。

数组的元素可以通过索引来访问。请注意,索引的起始值为0

var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined

Object

JavaScript的对象是一组由键-值组成的无序集合,例如:

var person = {
    name: 'Bob',
    age: 20,
    tags: ['js', 'web', 'mobile'],
    city: 'Beijing',
    hasCar: true,
    zipcode: null
};

JavaScript对象的 键(key) 都是字符串类型,值可以是任意数据类型。上述 person 对象一共定义了6个键值对,其中每个键又称为对象的属性,例如: person的name属性为'Bob',zipcode属性为null。 

要获取一个对象的属性,我们用 对象变量.属性名 或者 对象变量[属性名] 的方式:

person.name;      // 'Bob'
person["name"];   // 'Bob'

null和undefined

 null 表示一个“空”的值,它和  0  以及空字符串 '' 不同,  0  是一个数值, '' 表示长度为  0  的字符串,而 null 表示“空”。

在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。但是,在JavaScript中,还有一个和null类似的undefined,它表示“未定义”。

JavaScript的设计者希望用 null 表示一个空的值,而 undefined 表示值未定义。事实证明,区分两者的意义不大。大多数情况下,我们都应该用 null 。 undefined 仅仅在判断函数参数是否传递的情况下有用。

 

posted @ 2018-09-12 11:11  _zhiqiu  阅读(137)  评论(0编辑  收藏  举报