(一)标识符
在JS中所有可以由我们自主命名的都可以称为标识符
例如:变量名、函数名、属性名都属于标识符
命名标识符的规则:
1、标识符中可以含有字母、数字、_、$
2、不能以数字开头
3、不能是ES中的关键字或保留字
4、标识符一般都采用驼峰命
(二)数据类型
String
字符串
1、在字符串中可以使用\
作为转义字符
str = "我说:\"今天天气不错!\""
2、\n
表示换行 ;\t
表示制表符
Number
数值
1、可以使用运算符typeof
来检查变量类型
console.log(typeof a);
2、JS中可以表示的数字的最大值:Number.MAX_VALUE
,如果超过最大值,则返回Infinity
,表示正无穷;Number.MIN_VALUE
表示0以上的最小正数
3、NAN
:Not A Number
Boolean
布尔值
var bool = true;
Null
空值
1、Null
类型的值只有一个,就是null
,用来表示空对象
2、使用typeof
检查null
时,会返回object
Undefined
未定义
1、当声明一个变量,却没有给变量赋值时,值为Undefined
Object
对象
(三)数据类型转换
将其它数据类型转换为String
方式一:调用被转换数据类型的toString()
方法,不会影响原变量,null
和undefined
没有toString()
方法
var a = 123;
//调用a的toString()方法
var b = a.toString();
//a的类型依然是number,b的类型变成了string
方式二:调用String()
函数,并将被转换的数据作为参数传递给函数
var a = 123;
a = String(a);
对于Number
和Boolean
实际上还是调用toString()
方法;
对于Null
和Undefined
,会将null
转换为"null"
,将undefined
转换为"undefined"
将其它数据类型转换为Number
方式一:使用Number()
函数
1、如果是纯数字的字符串,则直接将其转换为数字
var a = "123";
a = Number(a);
console.log(a);
//输出为123
2、如果字符串中有非数字的内容,则转换为NaN
var a = "abc";
a = Number(a);
console.log(a);
//输出为NaN
3、如果字符串是一个空串或是一个全是空格的字符串,则转换为0
var a = " ";
a = Number(a);
console.log(a);
//输出为0
4、将Boolean
类型转换为number
,true
会转换为1,false
会转换为0
5、将null
类型转换为number
,会转成0
6、将undefined
类型转换为number
,会转成NaN
方式二:parseInt()
,给字符串转换为整数,通过将字符串中的有效整数取出来,然后转换为number
var a = "100px";
a = parseInt(a);
console.log(a);
//输出为100
var a = "1010px1112";
a = parseInt(a);
console.log(a);
//输出为1010
var a = "w1300";
a = parseInt(a);
console.log(a);
//输出为NaN
var a = "123.456px11";
a = parseInt(a);
console.log(a);
//输出为123
方式三:parseFloat()
,给字符串转换为浮点数
var a = "123.345px";
a = parseFloat(a);
console.log(a);
//输出为123.345
var a = "123.345.678px";
a = parseFloat(a);
console.log(a);
//输出为123.345
注意:如果对非String
使用parseFloat()
和parseInt()
,会先将其转换为String
再操作
其它进制数字
1、表示16进制的数字,需要以0x
开头
a = 0x10;
a = 0xff;
a = 0xCafe;
2、表示8进制的数字,需要以0
开头
a = 070;
3、表示2进制的数字,需要以0b
开头
a = 0b10;
4、可以在parseInt()
中传递第二个参数,来指定数字的进制
a = "070";
a = parseInt(a,10);
//输出a=70
a = "070";
a = parseInt(a,8);
//输出a=56
将其它数据类型转换成Boolean
使用Boolean()
函数
var a = 123;
a = Boolean(a);
//输出为true
1、数字转布尔,除了0
和NaN
,输出都是true
;
2、字符串转布尔,除了空串,其余都是true
;
3、null
和undefined
转布尔,都是false
;
4、对象也会转换为true
;