知识点罗列:
1.JavaScript 字面量、变量、标识符
字面量:一些不可以改变的值(一般都不会直接使用) 例如:1 2 3 5 6
变量:变量可以用来保存字面量,而且变量的值是可以任意改变的。
变量的声明:通过var 关键字声明
代码:var num=12;//var 变量 = 字面量;
标识符:
- 在JS中所有可以自主命名的都可以称为是标识符
- 例如:变量名 函数名 属性名都属于标识符
- 命名标识符是需要遵守以下规则:
1.标识符中可以含有字母、数字、_(下划线)、$
2.标识符不能以数字开头
3.标识符不能使用ES中的关键字与保留字
4.标识符一般都采用驼峰写法
-首字母小写,或者每个单词的开头字母大写,其余部分小写
例如:小驼峰 helloWorld 大驼峰HelloWorld
- JS底层保存标识符时实际采用的是Unicode编码
所以理论上将,所有的utf-8中含有的内容都可以作为标识符
(特别注意:其中包括了中文,中文可以作为标识符,但不建议使用)
可以使用运算符typeof检测数据类型
语法:typeof 变量
2. JavaScript的6种数据类型:
基本数据类型(6种):
String 字符串类型
- 在JS中字符串需要使用引号引起来
- 使用单引号或双引号都可以,但是最好不要混用(注意引号的嵌套问题)
代码:var str=“hi”;
Number数值类型
- 在JS中所有的数值都是Number类型,包括了整数、浮点数(小数)
- 拓展:如果使用Number表示的数字超过了最大值,则会返回一个
Infinity 表示正无穷大
-Infinity 表示负无穷大
使用typeof检查Infinity也会返回Number
Number.MAX_VALUE 表示数值的最大值 1.7976931348623157e+308
Number.MIN_VALUE 表示数值的最小值 5e-324
代码:var str=11.20;
console.log(typeof str);
var max=Number.MAX_VALUE;
console.log(max);
Boolean 布尔类型
布尔值只有2个,主要做逻辑判断
- true 表示真
- false 表示假
代码:var bl=true;
Null(空值)类型的值只有一个,就是null
null这个值专门用来表示一个空对象
使用typeof检查一个null值时,返回一个object
Undefined(未定义)的值只有一个,undefined
- 声明一个变量但是未给变量赋值时,它的值就是undefined
代码:var a;
console.log(a);//undefined 未定义
引用数据类型:Object 对象类型
3.JavaScript数据的强制类型转换
主要是将其他数据类型转换为String Number Boolean。
①将其他的数据类型转换为String类型
方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响原变量,它会将转换的结果返回
- 注意:null和undefined这两个值没有toString()方法,如果调用该方法程序会报错
代码:将数值类型转换为字符串类型
var a=120;//number
var b= a.toString();
console.log(typeof a);//检测数据类型为number数
console.log(typeof b);//检测数据类型为String数据类型
将布尔类型转换为字符串类型
var a=false;
var b=a.toString();
console.log(typeof a);
console.log(typeof b);
方法二:
-对于null和undefined调用String()函数,并将被转换的数据作为参数传递给函数
- 使用String()函数做强制类型转换时
代码:将null转换为数值类型
var a=null;
var b=String(a);//调用String()函数
console.log(typeof a);//number
console.log(typeof b);//string
小结:对比两种方法,牢记null和undefined为特殊需调用String()函数,而对于Number Boolean实际上是调用的toString()方法。
②将其他数据类型转换为Number类型
使用Number()函数
- 字符串–>数字
1.如果是纯数字的字符串,则可以直接转换为数字
代码:
var num=”112”;
console.log(typeof num);//string
b=Number(num);
console.log(typeof b);//number
2.如果字符串中有非数字的内容,则转换为NaN
代码:
var num=”hu324”;
b=Number(num);
console.log( b);//NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
代码:
var num=” ”;
b=Number(num);
console.log( b);//0
4.其他类型:
5.- 布尔值–>数字true准换为1 false转换为0
- undefined–>数字 NaN
- null–>数字 0
第二种方式:-
这种方式专门用来对付字符串类型
-
parseInt() 把一个字符串转换为一个整数
代码:
var num=”12px ”;
num=parseInt(num);
console.log( num);//12
小结:parseInt()可以将一个字符串中的有效整数内容取出来
然后转换为Number -
parseFloat() 把一个字符串转换为一个浮点数
代码:
var num=”12.88px ”;
num=parseInt(num);
console.log( num);//12.88
小结:parseFloat()与parseInt()类似,但是不同的是它可以获取有效的小数
代码: var bl=false;
bl=parseInt(bl);
console.log(bl);//NaN
小结:不是字符串类型的调用parseFloat()与parseInt()转换的值为NaN
③其他数据类型转换为Boolean类型
使用Boolean()函数
-
- 数字 -->布尔 除了0和NaN是false,其余的全部都是true
代码:var a=12;
a=Boolean(a);
console.log(a);//true
var a=NaN;
a=Boolean(a);
console.log(a);//false
小结:小数也为true - 字符串–>布尔 除了空串是false,其余的全部都是true
- null 和undefined都会转换为false
- 对象转换为Boolean类型为true