1、JS注释
注释中的内容不会被解析器解析执行,但是会在源码中显示,我们一般会使用注释对程序中的内容进行解释。
• JS中的注释和Java的一致,分为两种:
– 单行注释://注释内容
– 多行注释:/*注释内容*/
2 、JS大小写
JavaScript是 ,也就是abc和Abc会被解析器认为是两个不同的东西。但是在HTML中是不区分大小写的。
JS每一条语句以“;“结尾。如果不写,浏览器会自动添加,也就是风格的形式,但是会销毁一些系统资源,而且有些时候浏览器会加错分号。
JS会忽略多个空格和换行,所以可以利用空格和换行格式化代码。
3、JS字面量和变量
字面量都是一些不可改变的量,比如:1、2、3、4……,字面量都是可以直接使用的,但是一般不会直接使用字面量。
变量可以用来保存字面量,且变量的值是可以任意改变的,变量更加方便使用。所以,在开发中,都是利用变量保存一个字面量。
使用var或let关键字声明(创建)变量。
变量必须以字母开头;
变量也能以$和_符号开头(不过不推荐这么做);
变量名称对大小写敏感(y和Y是不同的变量)。
在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际是undefined。
4 、JS标识符
在JS中所有的可以由我们自主命名的都可以称为标识符。
所谓标识符,就是指变量、函数、属性的名字,或是函数的参数。标识符可以是按照下列格式规则组合起来的一个或多个字符:
第一个字符必须是一个字母、下划线(_)或一个美元符号($)。其他字符可以是字母、下划线、美元符号或数字。按照惯例,ECMAScript标识符采用驼峰命名法(多个单词时,除第一个单词外其余单词均需首字母大写,openData)。但是要注意的是JavaScript中的标识符不能是ES中的关键字和保留字。
JS底层保存标识符时,实际上采用的是Unicode编码,理论上讲,所有的UTF-8中含有的内容都可以作为标识符。
5、JS数据类型
JS数据类型指的就是字面量的类型。
值类型(基本类型):字符串(String)、数字(Number)、布尔值(Boolean)、空值(Null)、未定义(Undefined)、Symbol。
Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
字符串(String):是存储字符的变量,在JS中字符串需要使用引号引起来,引号不能嵌套。在字符串中,可以使用“\”作为转义字符,当表示一些特殊符号时可以使用“\”进行转义。“\””表示一个双引号。“\’”表示一个单引号。“\n”表示换行,“\t”表示一个制表符,“\\”表示“\”。
数值类型(Number):在JS中所有的数值都是Number类型,包括整数和浮点数。可以使用typeof操作符检查一个变量的类型。
Number.MAX_VALUE表示的数字最大值。如果表示的数字超过了最大值,则会返回Infinity(正无穷),-Infinity(负正无穷),其也是数值类型,并且也是字面量。NaN是一个特殊的数字,表示Not A Number,用来表示要返回数值的操作失败了。
在JS中整数的运算基本上可以保证精度。如果使用JS进行浮点数计算数值,会得到一个微小的舍入错误结果。这是因为Number类型使用了IEEE 754格式表示整数和浮点数所导致的。
Boolean值只有两个true和false,主要用来做逻辑判断。
Null类型的值只有一个,就是null,专门用来表示为空的对象。null值是一个为空的对象类型。
Undefined类型的值也是只有一个,就是undefined。未给声明的变量初始化,即未定义。其目的是与Null做以区别。
强制类型转换,指将一个数据类型强制转换为其他的数据类型。
类型转换主要是将其他的数据类型转换为String、Number和Boolean。
5.1、将其他的数据类型转换为String
①调用被转换数据类型的toString()方法,该方法不会影响到原变量,会将转换的结果返回。可以将转换的结果赋值给转换类型的变量或是一个新的变量。但是要注意null和undefined这两个值是没有该方法的。
②调用String()函数,并将被转换类型作为参数传递给函数,将此可以赋值给转换类型的变量或是一个新的变量。使用String()函数时,对于Number和Boolean实际上就是调用的是toString()方法,但对于null和undefined就不会调用toString()方法,而是将null直接转换为“null”字符串,将undefined转换为字符串“undefined”。
5.2、将其他的数据类型转换为Number
①使用Number()函数,字符串转换数字,如果是纯数字的字符串,则将其转换为数字;如果字符串中有非数字的内容,则转换为NaN;空字符串或全是空格的字符串则会转换为0。
布尔转数字,true转换为1,false转换为0。null转换为数字是0,undefined转换为数据类型是NaN。
②parseInt()函数,把一个字符串转换为一个整数,可以把字符串内有效的整数内容取出来。parseFloat()函数把一个数字转换为一个浮点数。如果对非String类型使用这二者函数,先转换为字符串。
5.3、其他进制的数字
在JS中,如果需要表示16进制的数字,则需要以0x开头。如果需要表示8进制的数字,则需要以0o或0开头。如果需要表示二进制数字,则需要以0b开头,并不是所有的浏览器都支持。
像“070”这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析。可以在parseInt()函数中传递另外一个参数“10”,指定进制。
5.4、将其他的数据类型转换为Boolean
使用Boolean()函数。
数字转换布尔值,除了0和NaN是false以外,其他的均是true。
字符串转换布尔值,除了空串是false,其他的均是true。
null和undefined都会转换为false。
对像也会转换为true。