一、原型
1.定义
- 每一个对象都有原型
- 原型仍然是一个对象
- 模拟实现面向对象的继承性
2.原型链
- 对象的原型还有原型
- 对象除了可以使用自有属性还可以继承原型上的属性
3. 获取原型
- 对象.proto
- 构造函数.prototype
4.操作原型的属性
- 原型本身就是对象,同操作对象
5.判断属性是自有的还是原型继承的
-
hasOwnProperty()
console.log(arr.hasOwnProperty("length")); console.log(arr.hasOwnProperty("push"));
6.ECMA5中创建对象并指定对象的原型
-
Object.create();
//ECMA5 var o = Object.create(arr); console.log(o); console.log(o.constructor); console.log(o.__proto__);
一、 Boolean
1.创建方式
- 直接量
- 转换函数
-
构造函数
var b = true;//直接量 var b1 = new Boolean(false);//构造函数 var b2 = Boolean(true);//转换函数
2.属性
- constructor
3.方法
- toString():把布尔值转换为字符串形式并返回
- valueOf() 返回原始值
二、Number
1.创建方式
- 直接量
- 转换函数
- 构造函数
2.属性
- Number.MAX_VALUE 最大值
- Number.MIN_VALUE 最小值
3.方法
- toFixed() 保留指定位数的小数, 默认保留整数
- toExponential() 用科学计数法形式来表示
-
toString() 转为字符串。 可以把十进制转换为任意进制的字符串
<script> var n = 100.8976; console.log(Number.MAX_VALUE) //返回1.7976931348623157e+308 console.log(Number.MIN_VALUE) //返回5e-324 console.log(n); //返回100.8976 console.log(n.toFixed(2)); //返回100.90 console.log(n.toFixed()); //返回101 console.log(n.toExponential()); //返回1.008976e+2 var number = 90; console.log(""); console.log(number); //返回90 console.log(number.toString()); //返回90 console.log(number.toString(8)); //返回132 console.log(number.toString(16)); //返回5a console.log(number.toString(2)); //返回1011010 </script>
三、String
1.创建方式
- 直接量
- 转换函数
- 构造函数
2.属性
- length 字符串长度
3.方法
- charAt(index) 返回指定位置的字符,可以用[]运算符代替
- charCodeAt(index) 返回指定位置的字符的编码
- String.fromCharCode() 把unicode编码转换为 字符
- concat() 连接一个或多字字符串,可以被
+
运算符代替 - indexOf() 返回字符(串)在字符串中第一次出现的位置
- lastIndexOf() 返回字符(串)在字符串中最后一次出现的位置
- substr(start [, length]) 截取字符串
- substring(start [, end]) 截取字符串
包括起始位置值,不包括结束值
- slice() 同 substring
- split() 把字符串分割成数组 跟数组方式 arr.join() 相反
- toUpperCase() 把字符串转换为大写
- toLowerCase() 把字符串转换为小写
- trim() 去除字符串
两边
的空格 - replace(原字符,替换字符) 替换
- match() 匹配字符串 可用正则
- search() 查找字符串 可用正则
- valueOf()返回字符串原始值
四、Date
1.创建date
- 构造函数
2.方法
- getYear()
- getFullYear() 公元纪年
- getMonth() 月份 从0开始(0~11)
- getDay() 周几 周日(0~6)周六
- getDate() 日
- getHours() 时
- getMinutes() 分
- getSeconds() 秒
- getMilliseconds() 毫秒
- getTime() 从1970年1月1日0时0分0秒 至今的毫秒数
- getTimezoneOffset() 与标准时区的偏移量单位是分钟
- getUTC.....标准时区
- set...
- setUTC...
- toTimeString() 把 Date 对象的时间部分转换为字符串。
- toDateString() 把 Date 对象的日期部分转换为字符串。
- toUTCStirng() 根据世界时,把 Date 对象转换为字符串。
- toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
- toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
-
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
<script> var date = new Date(); date.setHours(7); console.log(date); console.log("当前的年:"+date.getYear()); console.log("当前的年(公元纪年):"+date.getFullYear()); console.log("当前的月份:"+(date.getMonth() + 1)); console.log("当前的日(星期几):"+date.getDay()); console.log("当前的日:"+date.getDate()); console.log("当前的时:"+date.getHours()); console.log("当前的分:"+date.getMinutes()); console.log("当前的秒:"+date.getSeconds()); console.log("当前的毫秒:"+date.getMilliseconds()); console.log(""); console.log("当前的时间戳:"+date.getTime()); console.log(date.getTimezoneOffset()); console.log("标准时区:"+date.getUTCHours()); console.log(date.toUTCString()); </script>
3.时间戳
- 从Unix元年至今的秒数或毫秒数
- Unix元年 1970年
五、Math
1.属性
- PI 圆周率
2.方法
- abs(x) 求绝对值
- sqrt(x) 求平方根
- pow(x,y) 返回x的y次幂
- max(x1,x2,...) 求最大值
- min(同上) 求最小值
- round(x) 四舍五入取整
- floor(x) 舍一取整
- ceil(x) 进一取整
-
random() 返回0~1之间的随机数
<script> console.log(Math); console.log(Math.PI); console.log("绝对值:"+Math.abs(100.45)) console.log("绝对值:"+Math.abs(-100.45)) console.log("pow求次幂:"+Math.pow(2, 9)); console.log("求最大值:"+Math.max(10,23,4,23,12)); console.log("求最小值:"+Math.min(10,23,4,23,12)); console.log("开方:"+Math.sqrt(4)); console.log("开方:"+Math.sqrt(10)); //取整数 方法 console.log(Math.round(12.345)); console.log(Math.round(12.545)); //进一取整 console.log(Math.ceil(12.001)); //舍一取整 console.log(Math.floor(12.9999)); </script>
六、Array
属性
- length 数组长度
方法
- concat() 数组连接
- join() 数组转换成字符串
- slice() 截取数组中的一部分
- reverse() 数组的翻转
- push() 在数组的最后一个位置添加元素
- pop() 最后一个位置删除
- shift() 数组最前面删除
- unshift() 数组最前面增加元素
- splice() 在数组任意位置增加或删除
- sort() 排序 arr.sort(function(item1,item2){ //return item1-item2; return item1>item2; });
ECMA5 新增的方法
- forEach() 遍历数组
- map() 对数组中的每个元素进行处理
- filter() 对数组的元素进行过滤
- every() 检测所有元素是否都复合条件
- some() 判断数组中是否与元素符合条件
- indexOf() 元素第一次出现的位置
-
lastIndexOf() 最后一次出现的位置 //遍历 arr.forEach(function(val,key){ console.log(key + ':'+val); })
//把数组中的每个元素都除以10 var res=arr.map(function(val){ return val/10; }) console.log(res);
//对数组中的数进行过滤(只取偶数) var res=arr.filter(function(val){ return val%2===0; }) console.log(res);
//判断数组中的每个元素是否都满足条件 var res=arr.every(function(val){ return val>1; }); console.log(res);
//判断数组中是否有满足条件的 var res=arr.some(function(val){ return val>300; }) console.log(res);
七、内置对象 Function
属性
- length 形参的数量
方法
- apply() 将函数作为一个对象的方法调用
- call() 将函数作为对象的方法调用
- bind() ECMA5新增 返回一个作为方法调用的函数
八、全局对象 Global
在浏览器中就是window