标识符
JS中自主命名的都称为标识符;变量名、函数名、属性名等……
遵守规则:
1、可以含有字母、数字、_ 、$
2、不能数字开头
3、不能是关键字(var)或保留字(class)
4、一般采用驼峰命名法——首字母小写,每个单词的开头字母大写 helloWorld
数据类型——字面量的类型
var——声明一次后面无需再次声明
六种数据类型:String、Number、Boolean、Null、Undefined,Object。
String(基本数据类型)
——单引号、双引号都可,不能混用;转义时 \" → ", \' → ', \n→换行, \t→制表符(相当于tab),\\→\
Number(同上)
——typeof 变量 ,检查变量类型;Number.MAX_VALUE;
Infinity 正无穷;NaN not a number;计算精度较低,如0.1+0.2=0.3000004;
Boolean(..)
Null(..)null空的对象;
var a = undefined;
console.log(typeof a); //a变量类型为object
Undefined(..)未定义,声明变量不赋值,变量值为undefined
Object(引用数据类型)
强制类型转换:String、Number、Boolean
其他转String:
1、调用被转换数据类型的toString()方法
var a = 123;
a.toString();
console.log(typeof a); //输出结果为number;因为该方法不会影响原变量,只会将转换的结果返回。
var b = a.toString();
console.log(typeof b); //此时b的输出类型为string
a = a.toString();
console.log(typeof a); //输出为string
null和undefined没有toString方法
2、调用String方法,将被转换的数据作为参数传递给函数
var a = 123;
a = String(a);
console.log(typeof a); //输出string
var a = undefined;
a = String(a);
console.log(typeof a); //返回string
var a = null;
a = String(a);
console.log(typeof a); //返回string
String()方法包含undefined和null,将null直接转换为”null“
其他转Number:
1、调用Number()函数,和String()方法相同
var a = "123";
a = Number(a);
console.log(a);
如果是纯数字的字符串,直接转换为数字
如果是含字母的字符串或者undefined,返回NaN
如果是空串或null或false,返回0
如果是true,返回1
var a = "123pb";
a = parseInt(a); //parseInt()将字符串的有效整数内容取出来转为number
console.log(a); //parseFloat()取有效的小数内容
若对非string(如true)使用parseInt(),先转为字符串,在取有效内容
其他进制数字:
0x: 16 进制开头 ;0x10=16
0: 8进制开头 ; 070=8
0b:2进制开头; 0b10=2
a = "070";
//<!-- 可以在parseInt()传递第二个参数,来指定数字的进制 -->
a = parseInt(a,8);
console.log(a);
a = 56;
其他转Boolean:使用Boolean函数
对象、字符串、数字转Boolean,true;
0、Null、NaN、Undefined、空串是false。
算数运算符:运算符也叫操作符
typeof 获得值的类型,以字符串的形式返回
运算符不会改变源变量,对非Number类型的值进行运算时,先将其转换为Number然后运算
2+Null=2;
任何值和字符串相加结果都是字符串,值先转为字符串,再加号拼串。
除此之外,任何值和字符串相减、相乘、相除,都是字符串转为值。
123+“1”=“1231”;123+“”=“123”
a = 1+2+"3";
console.log(a);
a=33; //先执行1+2=3,在执行3+“3”
取模运算:
9%5=4;
一元运算符:+ -
对于非Number类型,先转换为NUmber,再进行运算。
a=+"6";
a=6;
自增:a++
自减:a--