javascript
1 语法
- 区分大小写
- 标识符的第一个字符必须是字母、下划线(_)或者美元符号($)
- 关键字、保留字、true、false、null不可以用作标识符;
- 最好是驼峰大小写格式(第一个字母小写,剩下每个单词首字母大写)
2 变量
- JavaScript的变量可以保存任何类型的数据
- 未赋值的变量初始化为 undefined
- 可以在修改变量值的同时修改值的类型(不推荐)
- 函数中使用var定义的变量在函数退出后被销毁
- 省略var操作符可以定义全局变量(不推荐)
- 一条语句可以定义多个变量,只需用逗号隔开
3 数据类型
共有6种数据类型,其中5种基本数据类型:undefined,null,boolean,number,string。1种复杂数据类型:object
-
undefined类型
-
null类型
null表示一个变量被定义了,但是其值为null,是一个空对象指针,使用typeof操作符返回object
一个变量将来需要保存对象,但目前还不需要保存,可以先保存null值
- Boolean类型
Boolean类型分为true和false(区分大小写)
任何数据都可以调用布尔函数 Boolean(),会返回一个布尔值。其中,false," ",0,NaN,Null,undefined会使Boolean()函数变为false,其余均为true
- number类型
包括常规数字和NaN(不是数字,但属于数字类型)
NaN和任何值都不相等,包括NaN本身
isNaN()可以检测一个值是否为非有效数字(不是数值会先转换为数值),如果不是有效数字返回true,反之返回false
Number()可以用于任何数据类型的转换
1.如果是Boolean值,true和false将分别被转换为1或0
2.如果是Null值,返回0
3.如果是undefined,返回NaN
4.如果是字符串,只包含数字,则将其转换为十进制数值,前导零会被忽略。如果包含有效的浮点格式,则将其转换为相应的浮点数值,前导零会被忽略。如果包含十六进制格式,则将其转换为相同大小的十进制数值。如果是空,则转换为0。如果包含除上述以外的格式,则转换为NaN
parseInt(),在处理整数的时候更常用。(Number()函数在转换字符串时比较复杂而且不够合理)
1.会忽略前面空格,找到第一个非空格字符
2.如果第一个字符不是数字字符或负号,则返回NaN
3.从第一个数字字符开始解析,依次解析数字字符,直到解析完或遇到非数字字符
4.parseInt()能识别各种整数格式(比如十进制,八进制)
parseFloat()与parseInt()的区别
1.解析时遇到的第一个小数点是有效的
2.始终忽略前导的0,所以只解析十进制数
- string类型
String类型用于表示由零或多个16位Unicode字符组成的字符序列,可以由单引号或双引号表示
1.字符字面量(转义序列),例如,\n(换行),\t(制表),\b(空格),解析时,代表一个字符。
2.字符串特点,ECMAScript中的字符串是不可变的。要改变某个变量保存的字符串,首先要销毁原来的字符串,再用另一个包含新值的字符串填充该变量,这个过程是在后台发生的。
3.转换为字符串,第一种,toString(),用来返回相应值的字符串表现,null和undefined值没有这个方法,调用数值时,可以传递一个基数,用来输出不同进制的值`
var count = 10;
console.log(count.toString(2)); //“1010”`
第二种,String(),它可以将任何类型的值转换为字符串,如果值是null,则返回”null“,如果值是undefined,则返回”undefined“,其余和toString()方法返回值相同,当不知道要转换的值是不是null或undefined时,可以用它
- object类型
ECMAScript中的对象其实就是一组数据和功能的集合,对象的实例通常使用new操作符进行创建 `
var abc = new Object();`
Object类型所具有的任何属性和方法也同样存在于更具体的对象中。