2.2.1、基本数据类型
类似于java中的基本数据类型
string 字符串类型,“和”都是字符串。JavaScript中没有单个字符
boolean 布尔类型。固定值为true和false
number 数字类型。任意数字
null 空,一个占位符。
undefined 未定义类型,该类型只有一个固定值,即undefined,表示变量声明却未定义具体的值
注:因为undefined是从null中派生出来的,所以undefined==null
JavaScript区别于java,是弱类型语言(可以随意赋值、一个变量声明之后可以反复赋值),变量的使用不用严格遵循规范,所以一个变量声明好之后,是可以赋予任意类型的值。
随意赋值就会存在一个问题,后期维护的时候不知道到底赋的那一个值,那么我们就需要解决这个问题
alert:机警的,消息
通过typeof运算符可以分辨变量值属于哪种基本数据类型
对变量或值调用typeof运算符将返回下列值之一:
undefined-如果变量是undefined类型的
boolean-如果变量是Boolean类型的
object-如果变量是一种引用类型或null类型的
ECMAScript实现之处的一个bug,null属于基本数据类型,typeof(null)-->object
2.2.3、引用数据类型
引用类型通常叫做类(class),但在JavaScript中,因为不存在编译过程,所以没有类的概念,所处理的引用数据类型都是对象。
标准创建方式:
var str= new String();//和java相同
var str= new String;//这是JS独有的方式
2.3、运算符
2.3.1、比较运算符
JavaScript运算符与java运算符基本一致。
这里我们来寻找不同点进行学习。
运算符 | 描述 | 例子 |
== | 等于 | x==8为false |
=== | 全等(值和类型) | x===5为true;x===“5”为false |
!= | 不等于 | x!=8为true |
> | 大于 | x>8为false |
< | 小于 | x<8为true |
>= | 大于或等于 | x>=8为false |
<= | x小于或等于 | x<=8为true |
== 逻辑等。仅仅对比值
===全等。对比值并且对比类型。
如果值和类型都相同,则为true:值和类型有一个不同,则为false
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var x=8;
alert(x==8);//值相同,true
alert(x===8);//值相同,类型也相同(都是number类型)
alert(x=="8");//值相同,true
alert(x==="8");//值相同但是类型不同("8"是字符串string类型)false
</script>
</head>
<body>
</body>
</html>
2.3.2、逻辑运算符
运算符 | 描述 | 例子 | |
&& 双与 | and | (x<10&&y>1)为true | |
|| 双或 | of | (x==5||y==5)为false | |
!非 | not | !(x==y)为true |
注:JavaScript逻辑运算符没有&、|(单与、单或)
2.4、正则对象
正则:正确的规则
2.4.1、RegEx、p对象的创建方式
var reg = new RegExp("表达式");(开发中基本不用)
var reg = /^表达式$/; 直接量(开发中常用)
直接量开发中存在边界,即^代表开始,$代表结束
直接量方式的正则是对象,不是字符串,不能用引号
2.4.2、test方法
正则对象:test(string); 用来校验字符串是否匹配正则
全部字符匹配才会返回true,有字符不匹配就返回false
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//直接量方式;眼睛里揉不得沙子
//必须全部字符符合正则,才会返回true
//如果有一个字符不符合正则,就回返回false
var reg =/^\s*$/;//表示0~多个空格(\s表示空格,*表示0~多个)
var flag=reg.test(" ");//test用来检验是否符合正则,符合返回true,否则返回false
alert(flag);
</script>
</head>
<body>
</body>
</html>
2.4.3、正则对象使用注意事项
/^表达方式$/ 直接量方式:只有有无法成立的字符存在,即为false
(检查严格,眼里不揉沙子)适用于表单校验
/表达方式/ 普通方式:只要含有成立的正则字符存在,即为true。全部不符合正则时才为false
(检查不严格,懒人思想)适用于字符串查找、替换
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//直接量方式;眼睛里揉不得沙子
//必须全部字符符合正则,才会返回true
//如果有一个字符不符合正则,就回返回false
var reg1 =/^\s*$/;//*表示0~多个空格(\s表示空格,*表示多个)
var flag=reg1.test(" ");
alert(flag);
//普通方式,只要还有一个符合正则的字符,都会返回true,否则返回false
var reg2 =/\s+/;//表示1~多个空格(\s表示空格,+表示1~多个)
var flag=reg2.test(" aa");
alert(flag);
</script>
</head>
<body>
</body>
</html>