文章目录
JavaScript学习笔记01注释、基本语法、字面量和变量、标识符、数据类型、强制类型转换
1.1JS的注释
与Java相同
1.2JS的输出
弹框输出:alert("hello");
控制台输出日志:console.log("hello");
页面输出:document.write("hello");
注:
1、JS严格区分大小写(与html不同)
2、JS中每一条语句以“;”结尾,如果不写分号,浏览器会自动添加,但会消耗一些系统资源,而有些时候,浏览器会加错分号。
3、JS中会忽略多个空格和换行,故可以利用空格和换行对代码进行格式化
1.3字面量和变量
字面量都是一些不可改变的值,如1,2,3,4,5…字面量都是可以直接使用的,但一般不会直接使用字面量
变量可以用来保存字面量,而且变量的值是可以任意改变的,变量更加方便使用,在开发中都是通过变量来保存一个字面量,很少直接使用字面量。另也可以通过变量对字面量进行描述。
js中使用var关键字来声明一个变量:var a;
1.4标识符
在JS中所有可以由我们自主命名的都可以称为标识符,例如变量名、函数名、属性名都属于标识符
命名一个标识符需遵循以下规则:
- 1、标识符中可以含有字母、数字、_、$
- 2、标识符不能以数字开头
- 3、标识符不能是关键字或保留字
- 4、标识符一般采用驼峰命名法
1.5数据类型
JS中一共有六种数据类型,其中String、Number、Boolean、Null、Undefined为基本数据类型,Object属于引用数据类型。
1.5.1String字符串
- 在JS中字符串需要用引号括起来,单引号和双引号都可以,引号不能嵌套。
- 在字符串中可以用"
\
"作为转义字符
1.5.2Number数值
- JS中所有的数值都是Number类型,包括整数和浮点数(小数)
- JS中可以表示数字的最大值
Number.MAX_VALUE
- 如果使用Number表示的数字超过了最大值,会返回一个
Infinity
,表示正无穷 NaN
是一个特殊的数字,表示not a number,使用typeof检查NaN,返回的是numberNumber.MIN_VALUE
表示最小的正值- 在JS中,整数的运算基本可以保证精确,但浮点数的运算可能得到一个不精确的结果
1.5.3Boolean布尔值
- 布尔值只有两个,
true
和false
- 使用typeof检查一个布尔值时会返回Boolean
1.5.4Null空值
- Null类型的值只有一个:
null
- 专门表示为空的对象
- 用typeof检查null值会返回object
1.5.5Undefined未定义
- Undefined类型的值只有一个:undefined
- 声明一个变量但不赋值时,它的值就是undefined
- 用typeof检查undefined值会返回undefined
1.5.6Object对象
1.6强制类型转换
1.6.1String
将其他的数据类型转换成String
方式一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响到原变量,它会将转换的结果返回
- 但是注意:null和undefined这两个值没有toString()方法,
- 如果调用他们的方法,会报错
方式二:
- 调用String()函教,并将被转换的数据作为参数传递给函数
- 使用String()函数做强制类型转换时:
- 对于Number和Boolean实际上就是调用的toString()方法
- 但是对于null和undefined,就不会调用toString()方法
- 它会将null直接转换为"null",将undefined直接转换为"undefined"(直接转换成字符串)
1.6.2Number
将其他的数据类型转换成Number
方式一:使用Number()函数
- 字符串→数字
- 1、如果是纯数字的字符串,则直接将其转换为数字
- 2、如果字符串中有非数字的内容,则转换为NaN
- 3、如果字符串是一个空串或者全是空格的字符串则转换为0
- 布尔值→数字
- true转成1
- false转成0
- null→数字0
- undefined→数字NaN
方式二:专用于字符串
- parseInt()把一个字符串转换为整数
- 可以将字符串中有效的整数取出转换为Number
- parseFloat()把一个字符串转换为浮点数
- 作用与parseInt()类似,但它可以获取有效的小数
- 如果对非String使用parseInt()或parseFloat(),它会先转换为String然后再操作
1.6.3Boolean
将其他数据类型转换为Boolean
- 使用Boolean()函数
- 数字→布尔 除了0和NaN,其他都是true
- 字符串→布尔 除了空串,其他都是true
- null和undefined都会转换成false
- 对象也会转换为true