一、对象
-
js的对象的分类
- 内置对象:
- ES提供可以直接被使用的对象,已经是一个具体的实例了,不需要创建
- Math对象,数学对象
- 本地对象:
- 其实只是ES提供的一种类方法,需要被实例化之后,才能使用
- 需要被new执行之后,才能使用
- String,Object,Array,Number,Boolean,RegExp,Date
- 宿主对象:
- 由浏览器或W3C提供的运行ES的环境,所带的对象
- BOM:window,DOM:document
- 所有的自定义对象
- 天天都在学
- 由浏览器或W3C提供的运行ES的环境,所带的对象
- 注:实例化:转化成实际的案例
- 内置对象:
-
补充关键字:delete,用来删除自定义对象的属性
- delete
delete 对象.属性名
;
- 只能删除自定义对象的属性,且一次只能删一个属性
- 建议:少用
- delete
-
Math数学对象,不需要数学知识支撑,使用这个对象直接得到想要的结果
- Math 是 js 的一个内置对象,提供了一堆的方法帮助我们操作数字
- 属性
- Math.PI
- 圆周率
- Math.PI
- 方法
- Math.random()
- 随机数,随机产生0-1之间的数,不包括0,1
- Math.round()
- 取最近的整数
- Math.ceil()
- 向上取整
- Math.floor()
- 向下取整
- Math.max()
- 参数是多个数字,求最大数字
- Math.min()
- 参数是多个数字,求最小数字
- Math.pow(底数,指数)
- 求幂
- Math.sqrt()
- 开根号
- Math.abs()
- 求绝对值
- Math.sin(弧度)
- 正弦
- Math.cos(弧度)
- 余弦
- …
- console.log(Math);
- Math.random()
-
如何得到范围随机数
Math.floor(Math.random() * (max-min+1) ) + min
二、构建并逐步完善自己的公共库
- public.js(可以自定义命名,别忘就行)
- 内,放置封装好的工具函数,将来使用时,只需要引入文件,就可以直接调用
三、进制的转换
-
十进制转其他
- 十进制是日常使用进制,是数值型数据
- 其他进制,如:十六进制中含有abcdef,所以需要用字符的形式表示
- 其实就是将数值转成字符
- num.toString(进制)
var num = 234; console.log(num); var er = num.toString(2); console.log(er); var ba = num.toString(8); console.log(ba); var sl = num.toString(16); console.log(sl);
-
其他转十进制
- 其他都使用字符表示
- 其实就是将字符转成数值
- parseInt(要转换的数据, 作为哪个进制转换)
var str = "101010"; console.log(parseInt(str, 2)); // 42 console.log(parseInt(str, 8)); // 33288 console.log(parseInt(str, 16)); // 1052688 console.log(parseInt(str, 10)); // 101010 console.log(parseInt(str)); // 101010
-
其他转其他
- 利用十进制做过渡
-
u编码:得到的直接就是十进制,被系统自动转了
-
颜色值
四、日期对象
- Date日期对象,用来获取当前系统日期
- 是本地对象,本地对象的特点是不能直接使用,这仅仅是个类方法(类似于函数),需要new执行后才能使用
- 创建日期对象
- 系统的默认日期
- new Date();
- 获取日期对象的每一部分
var year = d.getFullYear(); var month = d.getMonth(); // 0~11 var myDate = d.getDate(); var day = d.getDay(); // 0~6 var hours = d.getHours(); var minutes = d.getMinutes(); var seconds = d.getSeconds(); var millS = d.getMilliseconds();
- 设置日期对象
- 需求:计算北京奥运会距离今天过去了多少天?
- 过去的日期怎么拿?设置指定日期
- 如何设置
- 直接设置
- 简单粗暴,但必须整体设置
new Date(要设置的数据)
- 字符:一个参数,直接设置,不允许日期溢出,否则会无效的日期,没有设置的部分,为0
var d = new Date("2008.8.8"); var d = new Date("2008/8/8"); var d = new Date("2008-8-8"); var d = new Date("2008,8,8"); var d = new Date("2008 8 8"); var d = new Date("2008.14.8 8:8"); var d = new Date("2008.8.8 8:8");
- 数值:多个参数,直接设置,月份从0开始,日期溢出,向前进1,没有设置的部分,为0
var d = new Date(2008,8,8); var d = new Date(2008,7,8); var d = new Date(2008,15,8); var d = new Date(2008,15,8); var d = new Date(2008,15,8,20,8,8);
- 通过方法设置
- 繁琐,但可以针对性设置
- 没有设置的部分,采取当前日期,月份从0开始,溢出部分,向前进1
d.setFullYear(2008); d.setMonth(14); d.setDate(8); d.setHours(8); d.setMinutes(8); d.setSeconds(8); d.setMilliseconds(666);
- 还可以独立设置时间戳
d.setTime(从1970.....到要设置的日期的毫秒数)
- 繁琐,但可以针对性设置
- 直接设置