JavaScript学习笔记
这个笔记主要记录了JS基础里我不熟悉的部分,并不是对知识点的完全描述。
JS基础
基本类型和对象
String
要想让字符串里嵌套引号,有两个方法。
-
字符串用单引号引起来,字符串内的引号用双引号;
var str = '我说:"今晚月色很好"'; console.log(str);
控制台显示:
-
字符串内的引号用转义字符 \ 表示。
var str = "我说:\"今晚月色很好\""; console.log(str);
控制台显示:
两种方法效果一样。
Null
定义一个变量的值为null,对变量用typeof进行检测,其显示结果为object。
示例:
var a = null;
console.log(a);
console.log(typeof a);
控制台显示:
类型转换
其它转换为number
转换方式一:使用Number()函数
- String→number
(1). 如果是纯数字的字符串,则直接将其转换为数字;
(2). 如果字符串中有非数字的内容,则转换为NaN;
示例:
控制台显示:var a = "abc"; a = Number(a); console.log(a); console.log(typeof a);
(3). 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。 - Boolean→number
(1). true转为1;
(2). false转为0。 - null→number
null转为0。 - undefined→number
undefined转换为NaN。
示例:
控制台显示:var a = undefined; a = Number(a); console.log(a); console.log(typeof a);
转换方式二:parseInt()和parseFloat()
- parseInt()把一个字符串转换为一个整数;
- parseFloat把一个字符串转换为一个浮点数。
其它转换为boolean
使用Boolean()函数
- number→boolean
除了0和NaN,其余都是true。 - String→boolean
除了空串,其余都是true。 - null和undefined→boolean
都是false。 - object→boolean
都是true。
运算符
算术运算符
当对非number类型的值进行运算时,会将这些值转换为number然后再运算;
任何值和NaN做运算都得NaN。
示例:
var a = 2 + NaN;
console.log(a);
控制台显示:
- +
- "+"可以对两个值进行加法运算,并将结果返回;
- 如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回;
- 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作。
示例:
控制台显示:a = 123 + "1"; console.log(a); a = true + "hello"; console.log(a);
我们可以利用这一特点,来将一个任意的数据类型转换为String,我们只需要为任意的数据类型 + 一个 “”(空串) 即可将其转换为String,这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数。
示例:
控制台显示:var b = 123; b = b + ""; console.log(b); console.log(typeof b); var c = null; c = c + ""; console.log(c); console.log(typeof c);
- -
"-"可以对两个值进行减法运算,并将结果返回 - *
"*"可以对两个值进行乘法运算 - /
"/"可以对两个值进行除法运算
任何值做- * /运算时都会自动转换为number,我们可以利用这一特点做隐式的类型转换,可以通过为一个值 -0 、 *1 、 /1来将其转换为number,原理和Number()函数一样,使用起来更加简单。
示例:
控制台显示:var d = "123"; d = d - 0; console.log(typeof d); console.log(d);
- %
"%"取模运算(取余数)