字符串(String)
字符串是存储字符的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号。凡是用双引号或者单引号引起的都是字符串。用引号时,可以是单引号也可以是双引号,唯独不可以一个单引号一个双引号。可用.length看有几个字符。
转义:无法输出的字符,先输出/,在输出字符。("、\、换行等....)
字符串不可变:在内存中不会立刻消失,只能二次赋值,原有的字符在一定时间 内被 垃圾回收器回收。
字符串拼接:如果两个变量都是字符串,无论是否包含数字,只要是拼接,那么在前一个后面添加后一个字符串。
实例:

var name="xiaoning";
var username='xiaoning';

数字(Number)

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

  • 十进制表示法(0~9):var num = 10;
  • 十六进制表示法(0-9,a(A)-f(F))表示数字,并且以0x开头:var num = 0x99a;
  • 八进制表示法(0-7),并且0开头:var num=077;
  • 科学(指数)计数法来书写:var num=123e5;

数值范围
由于内存的限制,ECMAScript 并不能保存世界上所有的数值
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
NaN
NaN 非数值(Not a Number的简写)
Undefined和任何数值计算为NaN;
NaN 与任何值都不相等,包括 NaN 本身

isNaN() :任何不能被转换为数值的值都会导致这个函数返回 true
不是一个数字的标准,如果符合了那么就不是一个数字,不符合就是一个数字。
isNaN(NaN);// true
isNaN(“blue”); // true
isNaN(123); // false

注意:
因为精度丢失问题,所以不判断计算后的两个浮点数是否相等。

布尔(Boolean)
布尔(逻辑)只能有两个值:true 或 false。际运算中true=1,false=0。
var x=true
var y=false

注意:

  • true:除0数字、“something”、Object(任何对象)为true。
  • false:0 、“”、undefined 、null为false。

数组
数组的定义及赋值

var arr=new Array();
arr[0]="xiao";
arr[1]="ning";
arr[2]="bo";
arr[2]="ke";

或者

var cars=new Array("xiaoning","boke");
var cars=["xiaoning","boke"];

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔.
如:

var person={
name : "Bill",
age  : 19,
id :1111
};

Null
变量未引用 ,值为空,内存中不存在 。可以通过将变量的值设置为 null 来清空变量。
Undefined
变量未初始化
定义了变量,没有给变量赋值,变量在内存中是存在的。Undefined 这个值表示变量不含有值。

null和undefined有最大的相似性。看null == undefined的结果(true)。但是null ===undefined的结果(false)。不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。
任何数据类型和undefined运算都是NaN;
任何值和null运算,null可看做0运算。

附录:判读变量类型typeof()
变量的命名规则
1.变量命名必须以字母或是下标符号"_"或者"$"为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格,首个字不能为数字。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言)
6.汉语可以作为变量名。但是不建议使用。

Last modification:March 7, 2018
If you think my article is useful to you, please feel free to appreciate