1) 区分大小写:
text 和 Text 是两种不同的标识符
2)注释 :
用途:1.对代码进行说明,2.调试
3)字面量
4)变量
v
5) 数据类型
Undefined Null Boolean Number String Object
typeof 操作符:来检测 变量的数据类型 , 也可以操作字面量
underfined 没有初始化的变量
null 是Null类型 值是null ,类型返回的字符串是object
初始化 : 1)用null 2)字符串 '' 3) 数字 0
e.g alert(underfined==null); 结果:true
e.g alert(underfined===null); 结果: false 这里三个= ,已经比较了数据类型
数据类型转换: 强制转化:e.g Boolea("你好"); ANS:true 非空字符串为true 0,null,'',undefined 均为 false
隐式转换:直接可以进行判断 e.g if(''){}
- Number类型:
进制转换: 八进制:前导为0 , e.g var box=070;结果:56
十六进制:前导0x , e.g var box=0x1f; 结果:31
科学计数法:e.g 4.12e3 结果:4120
浮点数范围:Number.MIN_VALUE ~ Number.MAX_VALUE()超出范围为:Infinity 无穷
- 判断超过范围:isFinite() 用来判断
- 0除以0 ,结果:NaN ; Number.NaN
- Number.POSTIVE_INFINITY 正无穷 Number.NEGATIVE 负无穷
- 判断是不是NaN,isNaN(); NaN意思:not a number
- parseInt 只能将字符串转换成Number类型,通用转换Number();
- String类型和对象类型
- 1.String类型
- 双引号和单引号都可以用于String类型,必须成对出现!
- toString()方法:一般不传参,但是在数值转换的时候:toString(2/8/16) 分别为2/8/16 进制
- String();强制类型转换类似的还有:Number()
- 2.对象类型 Object
- 创建:
- var name=new Object(); //通过 new 创建 一个对象
- var name1={}; //通过字面量 创建一个对象
- var name=new Number(60); //创建一个数值对象 默认值为60
- 运算符和表达式
- 运算符
- ++1; 前置递增 --1; 1++; 1--;
- +1 ,整数,-1,负数
- null自动转换为0 ,但在比较运算符上,null和undefined没有自动转换
- 逻辑和:e.g var name3=(5>3) && 9; 结果:9
- 逻辑或:e.g var name3=(5>3) || 9; 结果:true
- 逻辑非:e.g !(5>4) 结果:false ; !!:双取反
- 位非NOT(~): e.g ~25 :-26
- , 逗号运算符
- 1.多个变量声明
- 2.数组的声明方法
- 3.对象的声明
- 三元表达式:e.g 3>4?3:4;
6)流程控制语句
1.基本控制语句
- if语句;switch语句;
- 循环语句:while ,do while, for ,for in(与C#中的 foreach 一样),
- break 和 continue
- with语句:将代码中的作用域,并列到对象中
- e.g :
var box1={name:'yuan',age:10,fat:185,hpu:'henan'}; with(box1){ document.write(name+age+fat+hpu);}
2.函数
- 必须调用才能执行!
- arguments 对象 : 动态的去传参数,不用考虑参数的多少,当然可以获得参数的多少 arguments.length
- e.g :
function box3(){ return arguments[0]+arguments[1]; } console.log(box3('nihao',1));
- 不具有 函数的重载功能,同名函数会覆盖已经出现的同名函数
7)对象和数组
对象
- 包含元素:属性和方法
- 三种声明方式:
- 1.传统的方式: var box =new Object(); box.age=28;
- 2.不用new关键字: var box1=Object(); box1.age=90;
- 3.字面量方式: var box2={ name:'zhuo', age:100 };
数组
- 数组声明1:var arr=new Array();
- 数组初始化长度:var arr=new Array(10);
- 数组声明2:var arr=Array();
- 数组声明3:var arr=[1,2,3],自面临创建数组,并赋值
- 数组声明3:var arr=[],字面量创建数组
8)数组
- valueOf() 以数组方式,取数组中的值。
- join() 给数组中的元素之间增加分隔符,返回字符串
- 堆栈方式:先进后出
- push() 给数组增加N个元素,返回数组长度
- pop() 移除数组最后的元素,返回移除的元素
- 对列方式:先进先出
- push() 数组末尾添加一个元素,并且返回长度
- shift() 移除数组开头元素,返回移除元素
- unshift('河南') 给数组前端添加元素,返回数组长度(IE不支持)
- 排序:
- reverse() 逆向排序,返回逆序数组,原数组也被逆向排序
- sort() 从小到大的排序,返回排序后的数组
- sort()排序,有时候会出错,所以需要给sort()传入下面参数:
- function compare()
- splice() 从第0个位置开始取 ; slice() 从第0个位置开始取剩余的元素
- splice() 插入元素 e.g box1.splice(1,0,"元素") : 0:表示不删除插入 1:标识删除插入
9)日期
- 创建方式1:var box=new Date(); e.g 构造方法可以传参数,默认是当前时间
- 将毫秒数转换为日期时间: var box1=new Date(111111111111);
- 得到某个时间到当前的毫秒数:Date.parse('4/12/2000')
- Date.UTC() 方法(世界统一时间,注意时区):Date.UTC(2000,1,18,12,12,12);
- 格式化:
- toDateString() e.g Sun Aug 16 2015
- toTimeString() e.g 10:30:30 GMT+0800 (中国标准时间)
- toLocaleDateString() e.g 2015/8/16
- toLocaleTimeString() e.g 上午10:30:30
- toUTCString() e.g Sun, 16 Aug 2015 02:30:30 GMT
- 通用方法:
- toString();日期一样 e.g Sun Aug 16 2015 10:30:30 GMT+0800 (中国标准时间)
- toLocaleString();e.g 2015/8/16 上午10:30:30
- valueOf();返回毫秒数 e.g 1439692230000
- 组件方式:(有get 就 可以set)
- getTime(); e.g 1439692230000
- getFullYea(); e.g 2015
- getMonth(); e.g 7
- getData();
- getUTCHours(); 国际时间,中国有时间差8个小时