1 // Number 数值  整数和小数
 2 // String  字符串 (字符)
 3 // Bool true/false
 4 // null 没有
 5 // undefined 
 6 
 7 var a=null;
 8 console.log(typeof a);
 9 
10 //object:正则对象,数组对象 字面量(json对象)
11 //function
12 //json xml 这两个做数据传输的
13 // 序列化 反序列化
14 //JSON.stringify();
15 //JSON.parse();
16 var stu=JSON.parse('{"id":10001, "name":"张三""}');
17 console.log(stu.id);
18 
19 var a=10;
20 {
21     a=20
22     console.log(a);
23 }
24 
25 
26 //+ - * /
27 var a = 1/"3";
28 console.log(a);
29 
30 
31 var a =( 0.1*10+0.2*10)/10;//小数先成10乘整数,再除10=结果0.3
32 console.log(a==0.3);
33 
34 
35 // = == ===
36 console.log(a=2);
37 console.log(a=="2");
38 console.log(a==="2");
39 console.log(a===3);
40 console.log(a===2);
41 
42 //parseInt 取整 81.5=81
43 //parseFloat
44 // isNaN N not number
45 var a = parseInt("8a6.99");
46 console.log(a);
47 
48 var a = parseInt(86.99+0.5);
49 console.log(a);
50 
51 function sum(a){
52     console.log(arguments);// arguments是个伪数组 可以使用下标 可以当作数组来用 严格意义来说,他是个对象
53     console.log(a);
54     return 1;
55 }
56 
57 var a =sum(3,4,5,8,9);
58 console.log(a);
59 
60 
61 var arr=new Array();
62 arr[0]=0;
63 arr[1]=1;
64 arr[2]=2;
65 console.log(arr);
66 
67 var arr=[1,"2",3,function(){}];
68 console.log(arr);
69 
70 // arr.shift();
71 // arr.unshift();
72 // arr.push();
73 // arr.pop()
74 
75 var arr = [1,2,3,4,5];
76 // var res = arr.pop();
77 // console.log(arr,res);
78 //第一个参数是开始位置,后序参数是删除个数,。。之后的所有参数是添加数据
79 arr.splice(2,1,8,9);
80 console.log(arr);
 1 var reg1=/\d/;
 2 var reg2 =new Regexp("\d");
 3 
 4 /*\d 0-9任意数字  一般都是小写反斜杠字母
 5 []任意一个字符
 6 [0-9] \d
 7 12=> [1][2] 在中括号加12 就变成1或2,但是在外面加12就直接变成12了
 8 [12a] 1、2、a
 9 [a-zR-Z0-9]
10 [^]非其中的任意一个字符
11 [^0-9]
12 \w数字、字母、下划线
13 . 在外面写就是任意一个字符
14 .在中括号里面写[.]
15 |  或的意思
16 2|3  2、3
17 1[0-2]
18 1[012]
19 
20 
21 范围 ? 0-1次
22 0?[1-9]
23 + 1-多次(至少一次)
24 *  0-多次 前面可能包含数字可能不包含数字,可能有很多东西
25 {,} 最少次数,最多次数
26 举个例子:
27 {6,12}最少6个最多12个
28 {6,}最少6次,不能低于6次,可以无限多
29 {,12} 对多12个
30 做表单验证的时候基本都有开始和结束{^ $}
31 ^ 开始
32 $ 结束
33 */
34 //举个验证例子:
35 var txt = "123abc0";
36 //var reg = /\d+/;
37 var reg = /^\d+$/;//从哪开始从哪结束
38 console.log(reg.test(txt));
39 
40 //常用的手机号 邮箱 密码 验证
41 //1\d{10}  做最简单的验证手机号的
42 //1[3-9]\d{9} 复杂一点的验证手机号 具体是不是那一个手机号
43 //就需要后台数据库来验证
44 
45 //匹配年月日
46 // 1[3-9]\d{9}
47 // \d{4}-(0?[1-9]1[0-2])-(0?[0-9]|[12][0-9]|3[01])
48 //验证汉字
49 //[\u4e00-\u9fa5]
50 // \u4e00\u4e00 
 1 //字面量  json
 2 
 3 //第一种方式准确来说比第三种简洁但是第一种用的不多
 4 var student={
 5     id:10001,
 6     name:"张三",
 7     scores:[
 8         {subject:"html",score:90},
 9         {subject:"JS",score:90},
10     ]
11 }
12 
13 
14 //第二种方式 function
15 function Student(id,name){
16 this.id=id;
17 this.name = name;
18 this.scores=[
19     {subject:"html",score:90},
20     {subject:"JS",score:90}
21 ]
22 }
23 Student.prototype.sex="男";
24 Student.prototype.eat = function(food){
25     console.log("吃"+food);
26 }
27 var stu =new Student(1000,"张三");
28 stu.eat("米饭");
29 console.log(stu.sex);
30 //第三种方式相对来说比较自由,想加什么加什么,但是代码重复率比较高
31 var stu =new student(1000,"张三");
32 //Object
33 var stu2 = new Object();
34 stu2.id=1000;
35 stu2.name = "张三";
36 stu2.scores =[
37     {subject:"html",score:90},
38     {subject:"JS",score:90}
39 ]
40 
41 function Student(id,name){
42     this.id=id;
43     this.name = name;
44     this.eat=function(food){
45         console.log("吃"+food);
46         return this
47     },
48     this.sleep = function(){
49         console.log("睡");
50         return this
51     }
52     }
53     var stu = new Student(1001,"张三");
54     //链式编程
55     stu.eat("").sleep().eat("").sleep().eat("").sleep().eat("").sleep();