标识符
硬性要求
・1 .可以是由数字,字母,下划线和美元符号组成,不允许包含其他特殊符号
-2.不能以数字开头
• 3.禁止使用J avaScript中的关键词和保留字来进行命名
-4.严格区分大小写
软性要求
•望文知意
命名的3种方法
1、匈牙利命名法
数据类型 |
对应前缀 |
Array数组 |
a |
Boolean 布尔 |
b |
Float浮点 |
f |
Function |
fn |
Interger(int)整型 |
i |
Object对象 |
o |
Regular Expression 正贝 lj |
re |
String字符串 |
s |
2、驼峰命名法
驼峰命名法实际上分为两种,一种是大驼峰,另外一种是小驼峰。
-大驼峰又被称之为帕斯卡命名法,就是每一个单词都是首字母大写
例如:UserName
-小驼峰和大驼峰的区别在于,小驼峰的第一个单词的首字母是小写,后面单词的首字母是大 写
例如:userName
3、蛇形命名法
种命名法常见于Linux内核,C++标准库,Boost以及Ruby, Rust等语言
蛇形命名法的特点在于单词与单词之间使用下划线进行分隔
例如:user_name, my_first_name
JavaScript中的关键字与保留字如下:
abstract、await、booleanx break、byte、case、catch、char、class、const、continue、 debugger、defaultx delete、do、 double、else、 enum、 export、extendsx false、final、 finally、float、for、functionx goto、if、implementsx import、in、instanceof、int、 interfacex let、long、native、new、null、packagex privatex protectedx public、return、 short、static、super、switch、synchronizedx this、throw、throws、transientx true、try、
数据类型介绍
•简单数据类型
简单数据类型一共有6种:
string, symbol, number, boolean, undefined, null
其中symbol类型是在ES6里面新添加的基本数据类型
•复杂数据类型
复杂数据类型就只有1种
object
包括JavaScript中的数组,正则等,其类型都是object类型
声明变量: const声明变量、let声明变量。
变量的赋值与初始化:如果声明变量时没有赋予初值,那么默认值为undefined。
使用var声明变量:重复声明、遗漏声明
作用域:1. 全局作用域、2. 局部作用域
undefined 类型:undefined类型就只有一个值,undefined。在使用变量但是没有为其赋值的时候,这个变量的 值就是undefined o还需要注意一点,就是没有申明的变量,使用时会报错,而不是undefined。但是打印其类型的 时候,显示的类型却是undefined
nulI类型:null类型的值也是只有一个,就是null。null表示一个空的对象。从逻辑角度来看,null值表 示一个空对象指针,这也正是用typeo f操作符检测null值时会返回o bject的原因。
布尔类型:所谓布尔类型,也被称之为boolean类型,就是真和假,这个类型的值只有两个,一个是true, 另一个是false。需要注意的是,这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。 还有一点就是Boolean类型的字面值true和false是区分大小写的。也就是说,True和False都不是 布尔值。虽然Boolean类型的字面值只有2个,但是ECMAScript中所有类型的值都可以转换为Boolean类 型。可以使用Boolean()函数将其他类型转换为布尔值。
下面的9个值是对应布尔类型里面的假值
・““:双引号的空字符串
・”:单引号的空字符串
• '':空字符串模板
-0:数字0
• -0: JS中-0和0为不同的值
• NaN
• false
• null
• undefined
数字类型:数字类型又被称之为number类型。number类型的值可以分为整数和实数两大类。
1.整数:整数可以分为正整数和负整数
2. 实数:所谓实数,就是我们平常所常见的小数,或者称之为浮点数。
在JavaScript里面,表示浮点数的方式有两种:小数型和科学记数法型
3. 数值范围(扩展):JavaScript并不能保存世界上所有的数值。在JS中能够表示的最小数值在绝大多 数浏览器中为5e-324,而最大值为1.7976931348623157e+308。如果某次计算的结果超出了ECMAScript的数值范围,那么正数会被转化为infinity (正无穷), 负数会被转换为-infinity (负无穷)。如果某次计算返回了 infinity值,那么该值无法参与下一次计算,因为infinity不是能够参与计算的 数值。要想确定一个数值是不是有穷的,可以使用isFinite。
4. NaN:这个数值用于表示本来要返回数值的操作数未返回数值的 情况(这样就不会抛出错误了)。
NaN有两个特点:任何涉及NaN的操作都会返回NaN;NaN和任何值都不相等,包括它自己本身。
5. 数值转换
Number():可以将非数值转为数值
使用Number()函数的时候,有下面几个规则需要注意:
•如果是Boolean值,true和false将分别被转换为1和0
-如果是数字,那么就是简单的传入和返回
•如果是null值,那么返回0
•如果是undefined,那么返回NaN
如果是字符串,那么又有如下的规则:
-如果字符串只包含数字,则将其转为十进制,即”1”会变成1, ”123”变成123,而”011”会变 为11 (注意这里不会被当成八进制来处理)
-如果字符串中包含有效的十六进制格式,如”1.1”,则将其转换为对应的浮点数值
•如果字符串中包含有效的十六进制格式,例如”0xf”,则会将其转换为相同大小的十进制整 数。
-如果字符串是空的,则将其转换为0
・如果字符串包含上述格式之外的字符,则将其转换为NaN
parselnt。:也是将一个非数值转为数值说明:相比number。函数,parselnt。会更多的看是否有数字,有就会将其转换为数值。最简单的 例子为number。函数转换”123Hello”时会转换为NaN,而parselnt。则会将其转换为123。
碰到空字符串时,number。函数会将其转换为0,而parselnt。则会将其转换为NaN 最后是在碰到小数时,会有一个取整的过程。
parseFloatO:将非数值转为浮点数
说明:parseFloat()只解析十进制值,所以没有第二个参数,该函数会将带有小数点的字符串转换 为小数。如果没有小数点的数会被转换为整数。同样的parseFloatO也是尽可能转换更多的数值,
6. 静态方法(扩展)
Number.isIntegerO:用来判断一个值是否为整数。
Number.isFinite():如果一个值是 字符串,布尔类型,Infinity, -Infinity, NaN等(总之就不是数字的时候),则返回false,如果是数 字的话就会返回true。并且不会进行自动类型转换。
7. 实例方法(扩展)
toFixed():toFixed()方法按照指定的小数位返回数值四舍五入后的字符串表示(常用于处理货币值)
toExponential():返回数值四舍五入后的指数表示法(e表示法)的字符串表示,参数表示转换后的 小数位数
toPrecision():接收一个参数,即表示数值的所有数字的位数(不包括指数部分),自动调用 toFixed ()或 toExponentialQ
字符串类型
1. 字符串介绍
字符串的内容本身包含单引号或者双引号的话,需要和字符串界限 符区分开,
一个非字符串的变量转换为字符串的话,只需要和一个空字符串相加就可以 了。
当然,转换字符串事实上我们也有相应的函数来转换,最常见的就是toString()函数。
toStringO
说明:该函数会将除了 null和undefined以外的数据类型转换为字符串。
2. 字符串模板
使用模板字面量语法创建一个字符串,并赋值给message变量,这时变量的值与一
个普通的字符串无异
如果想在字符串中包含反引号,只需使用反斜杠'转义即可
ES6的模板字面量使多行字符串更易创建,因为它不需要特殊的语法,只需在想要的位置直接换 行即可,此处的换行会同步出现在结果中