一、 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
1.属性
- length
2.方法
concat()
join(连接符号-)
把数组变成字符串slice(start,end)
截取数组的一部分reverse()
翻转数组push()
最后位置添加元素unshift()
最前面添加元素pop()
删除最后一个元素shift()
删除第一个元素splice(index,count)
任意位置删除sort()
排序数组
3.ECMA5新增的方法
-
forEach()
-
map()
-
filter()
-
every()
-
some()
-
indexOf()
-
lastIndexOf()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组 ECMA5的方法</title> </head> <body> <script> var arr=[100,400,67,8,34,21,]; console.log(arr); //遍历 arr.forEach(function(val,key){ console.log(key+":"+val); }); //把数组中的每个元素上/10 var res=arr.map(function(val){ return val/10; // return val%2===0; }); console.log(res); //对数组的元素进行过滤 只取 值为偶数的 var res=arr.filter(function(val){ return val%2===0; }); console.log(res); //every判断数组中的每个元素是否都满足条件 var res=arr.every(function(val,key){ return val>1; }); console.log(res); //some 判断数组中是否有元素符号条件 var res=arr.some(function(val){ return val>300; }); console.log(res); //元素第一次、最后一次出现的位置 console.log(arr.indexOf(400)); console.log(arr.lastIndexOf(400)); </script> </body> </html>
-
结果截图:
七、Function
1.属性
-
length 形参的数量
<script> var fn = function(a, b, c){ console.log("啊,我被调用了"); return true; } console.log(fn); console.log(fn.constructor); console.log(fn.__proto__); console.log("形参的数量:"+fn.length); var obj = {name:"lili"}; obj.getInfo = function(){ console.log(this); } obj.getInfo(); function demo(){ console.log(this); } demo(); window.demo(); demo.call(obj); //调用 demo.call({}); //调用 demo.call(100); //调用 demo(); obj.getInfo(); obj.getInfo.call({}); console.log(""); function fr(a, b){ console.log(a+"和"+b+"跳舞"); } fr("同志", "李"); fr.call({}, "丽丽", "艳艳"); </script>
-
结果截图为:
2.方法
-
call()
<script> /** * call的实例: * call如果不写参数就默认是window * 第一个参数用来替换上下文环境 * 第二个参数是forEach的参数(回调函数) * forEach是数组的方法: * 用来遍历数组中的值 * 调用forEach的是空数组,只是改变了上下文环境 * arguments使用了空数组的forEach方法 * sum中的内容,就是arguments的内容 */ function sum() { var sum = 0; [].forEach.call(arguments, function(val, key){ sum += val; }); return sum;//求和 } console.log(sum(10,34,5,56,4)) </script>
-
apply()
-
bind() ECMA5新增
<script> function fn(a,b,c){ console.log(a,b,c,this); } fn(100,200,400); fn.apply({},["lili","yanyan","cuicui"]); var res = fn.bind({}); res("ha",'hei','he'); /** * apply与call的区别: * 功能类似 * 传参的形式不一样(用数组) */ /** * bind与其他俩的区别: * 只有一个参数 * 没有直接调用,需要返回新的返回值 * 只是改变了上下文环境 * 功能类似apply,call,形式不同 */ </script>
-
结果截图为:
八、全局对象
-
escape
/unescape() 对特殊字符编码/解码 -
encodeURI
/ decodeURL 对url进行编码/解码 -
encodeURIComponent
/ decodeURIComponent 对URL解码/解码 -
eval()
把字符串当做代码执行 -
三种编码进行比较
1.escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值 escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用 2.encodeURI()是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。 对应的解码函数是:decodeURI()。 3.encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。 对应的解码函数是decodeURIComponent()。 假如要传递带&符号的网址,所以用encodeURIComponent()
九、JSON对象
-
parse() 把josn字符串转换为对象
-
stringify() 把对象转换为json字符串
<script> //声明json 字符串 var jsonStr = '[{"name":"lili","age":199,"grade":"h516"},{"name":"lili","age":199,"grade":"h516"},{"name":"lili","age":199,"grade":"h516"}]'; console.log(jsonStr); var obj = JSON.parse(jsonStr); console.log(obj); console.log(JSON.stringify(obj)) </script>
-
格式:
[ { "name":"lili", "age":199, "grade":"h516" }, { "name":"lili", "age":199, "grade":"h516" } { "name":"lili", "age":199, "grade":"h516" } ]