一、概述
1、简介
ECMAScript是JavaScript的标准。1997年,欧洲计算机制造商协会(ECMA)设置了JavaScript的标准,命名为ECMAScript
区别
2、体系
3、报错处理
(1)中文分号
(2)忘记引号
(3)拼写错误
3、REPL环境
二、变量
1、变量命名
- 只能由字母、数字、下划线、$组成,但不能以数字开头
- 不能是关键字或保留字
- 区分大小写
2、优秀命名方法
- 驼峰命名法: mathTestScore
- c风格:math_test_score
3、变量默认值
- 变量只定义,但没有赋初值,默认值是undefined
4、变量提升
变量声明的提升:你可以提前使用一个稍后才声明的变量,而不会引发异常
变量声明提升只提升定义,不提升值
输出 undefined
注意事项
- 变量声明的提升是JavaScript的特性,所以经常出面试题
- 在实际开发时,不要刻意使用变量声明提升特性。
- 一定要先定义并给变量赋初值,然后再使用变量
三、数据类型
1、两种数据类型
2、typeof运算符
typeof 5; // number typeof '你好'; // string .
四、Number
1、Number类型
(1)所有数字不分大小、不分整浮、不分正负,都是数字类型
(2)较大数或较小数(绝对值较小)可以写成科学计数法
(3)不同进制
二进制数值以0b开头
0b10 //2
八进制数值以0开头
017 //15
十六进制数字以0x开头
0xf //15
2、特殊的数字类型值(NaN)
0 / 0= NaN '王' - '皇' = NaN
NaN不等于自己
3、Infinity
非零数字除以0时,结果是Infinity
五、String类型
1、字符串的拼接
(1)基本连接
'Ho'+'pe' --> 'Hope'
(2)字符串与变量连接
2、空字符串
var str='';
3、length属性
我喜欢JS' .1ength // 5
4、常用方法
(1)charAt方法
charAt()方法可以得到指定位置的字符(从0开始)
(2)substring方法
substring(a, b)方法得到从a开始到b结束(不包括b处)的子串
- substring(a, b)方法如果省略第二个参数,返回的子串会一 直到字符串的结尾
- substring(a, b)中,a可以大于b,数字顺序将自动调整为小数在前
(3)substr 方法
substr (a, b)中,将得到从a开始的长度为b的子串
substr (a, b)中,a可以是负数,表示倒数位置
(4)slice方法
slice(a, b)方法得到从a开始到b结束(不包括b处)的子串
(5)对比总结
substring (a, b)和slice(a, b)功能基本一致, 都是得到从a开始到b结束(不包括b)的子串,
区别:
①substring()可以自动交换两个参数位置,而slice()不行;
②slice()的参数a可以是负数,而substring(不行。
substr(a, b)中参数b是子串长度,而不是位置编号
(6)大小写转化
- toUpperCase()转为大写
- toLowerCase()转为小写
(7)indexOf方法
- indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置
- 如果要检索的字符串值没有出现,则该返回-1
六、其他类型
1.Boolean
布尔型值只有两个: true和false, 分别表示真和假
2.undefine
- 一个没有被赋值的变量的默认值是undefined
- 而undefined的类型也是undefined
即: undefined又是值, 又是一-种类型,这种类型只有它自己个值
typeof undefined; / /undefined
在变量声明提升时,变量的值也是undefined.
console.log(a); //undefined console.log(typeof a); //undefined vara=10;
3.Null类型
null表示"空”,它是"空对象”
当我们需要将对象销毁、数组销毁或者删除事件监听时,通常将它们设置为null。
注意: 使用typeof检测null值, 结果是object, 这点就其要注意
typeof null; // object
六、强制类型转换
1、转成数字
(1)Number()函数
(2)parselnt()函数
parselnt()函数的功能是将字符串转为整数
parseInt( '3.14'); // 3
parseInt('3.14是圆周率'); // 3
parseInt('圆周率是3.14'); // NaN
parseInt('3.99'); // 3
(3)parseFloat()函数
2、转字符串
(1)String()函数
(2)toString()方法
3、转布尔值
4.小小案例:计算器+
使用prompt()函数弹出输入框,让用户输入两个数字
对用户输入两个数字进行加法运算,而由于用户输入的内容是字符串类型,所以必须先转为数字类型,才能做加法运算最后用alert()显示结果
<script>
//让用户输入两个数字
var a = Number(prompt('请输入第一个数字'));
var b = Number(prompt('请输入第二个数字'));
//计算两个数字的和
var sum=a+b;
//弹出结果
alert('数字’+ a +‘加上数字’+ b +'的结果是' + sum);
</script>
七、判断类型
1、js判断是否为数字的更好方法应该是
Number.isNaN()
2、判断字符串
typeof(obj) == 'string'
3、判断数组
Array.isArray() 用于确定传递的值是否是一个 Array。
4.instanceof
instanceof 是用来判断 A 是否为 B 的实例对,表达式为:A instanceof B,如果A是B的实例,则返回true,否则返回false。 在这里需要特别注意的是:instanceof检测的是原型