一、引言
前面我们讨论了函数的一些基本概念,因为函数在任何一门语言之中都是很重要所以还是要好好学。昨天打开博客的时候看到有人私信我的JavaScript写错了,我定睛一看果然写错了。对此我表示很抱歉,希望大家能够看得时候多喷我两句就忘了这件事吧。
二、导入
今天我们要讨论一下有关于对象的内容,我们首先要接触的就是一些内置的对象。
三、重点内容
① 对象:
W3C上面写道:“属性的无序集合,每个属性存放一个原始值、对象或函数。因为在JS当中没有真正类所以把类定义描述为对象的配方。我们也把对象定义叫做类,因为大多数开发者对此术语更熟悉,而且从功能上说,两者是等价的“”
② 内置对象:
内置对象就是系统已经帮我们定义好的对象(类似于Math,Date,Array等)。
③ Math对象方法:
1) Math.ceil(): 天花板函数,向上取整。
console.log(Math.ceil(9.9));
2) Math.floor(); 地板函数,向下取整。
console.log(Math.floor(9.9));
3) Math.abs(); 获取数值的绝对值。
console.log(Math.abs(-9.9));
4) Math.random(); 获取0-1的随机数。
console.log(Math.random());
5) Math.pow(); 获取x的y次幂。
console.log(Math.pow(10,2));
6) Math.max(); 获取两个数中的最大值。
console.log(Math.max(10,20));
7) Math,min(); 获取两个数中的最小值。
onsole.log(Math.min(10,20));
④ Date对象方法:
1) 转换日期:
var date = new Date(2016,06,10); console.log(date);
2) 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
var date = Date.parse("2016-08-02") console.log(date);
3) 直接获取日期的毫秒
-
-
- Html5格式的
-
var date = Date.now(); console.log(date);
2. 推荐格式的
var date = +new Date(); console.log(date);
4) 获取日期的指定部分
-
-
-
- 返回4位数的年份
-
-
var year = date.getFullYear(); console.log(year);
2. 返回月份从0开始
var month = date.getMonth(); console.log(month);
3. 返回当月的的第几天
var day = date.getDate(); console.log(day);
4. 返回0-23的小时数
var hours = date.getHours(); console.log(hours);
5. 返回0-59的分钟数字
var minutes = date.getMinutes(); console.log(minutes);
6. 返回0-59的秒数
var seconds = date.getSeconds(); console.log(seconds);
7.返回毫秒数和valueOf()结果一样
var Milliseconds = date.getTime(); console.log(Milliseconds);
8. 返回毫秒数字
var Milliseconds = date.getMilliseconds(); console.log(Milliseconds);
9. 返回星期几
var day = date.getDay(); console.log(day);
⑤ Array 对象方法:
1) Slice方法:slice(start,end) [start end)(取头不取尾)
-
-
- end 的取值为正值的时候:
-
从start开始取,取不到end
console.log(arr.slice(0,2));
2. end 的取值为负值的时候:
如果end为负数,表示索引为数组的长度+负数
console.log(arr.slice(0,-2));
2) 转换数组:
-
-
- toString 把数组转化成字符转。
-
console.log(arr.toString());
2. valueOf 返回数组对象本身
3) 获取数组中某元素的索引
-
-
- indexOf 返回数组的下标(其中有两个元素的情况)
-
a) 一个参数:
console.log(arr1.indexOf(1));
b) 两个参数:第二个参数规定开始检索的位置
console.log(arr1.indexOf(1,2));
4) 追加和删除
-
-
- push(); 添加到数组的最后面。
-
arr.push("abc"); console.log(arr);
2. pop(); 删除数组的最后一个。
arr.pop(); console.log(arr);
3. shift(); 删除数组的最前面的一个。
arr.shift(); console.log(arr);
4. unshift(); 添加在数组的最前面。
arr.unshift(1); console.log(arr);
5) 数组排序
-
-
- reverse(); 翻转数组中的元素。
-
arr.reverse(); console.log(arr);
2. sort(); 将数组中的元素排序
arr.sort(function(a,b){ return a-b; }); console.log(arr);
6) 数组迭代
-
-
- filter(); 返回值为true的留下,返回值为false的舍去
-
var arr = arr.filter(function(element,inedx,num){ if(element<5){ return true }else{ return false; } });console.log(arr);
2. forEach(); 便利循环数组里的每一个元素
var arr3= arr.forEach(function(element,index,num){ console.log(element); console.log(index); })
7) 数组清空
-
-
- array.splice(0,arr.length); 删除数组中的所有项目
- array.length=0; length可读可复制,赋值为0清空数组
- array = []
-
8) 操作数组
-
-
- join() 将数组中的元素通过制定符号连成字符串
-
var arr4 = arr.join("|") console.log(arr4)
2. concat(); 连接两个数组
var arr5 = arr.concat(arr2); console.log(arr5);
3. slice从当前数组中截取一个新的数组,不影响原来的数组。参数start从0开始,end从1开始,end截取不到。
var arr6 = arr.slice(0,3) console.log(arr6);
4. 删除或替换当前数组的某些项目,参数start,deleteCount,options(要替换的项目),
var arr7 = arr.splice(0,3); console.log(arr7);
⑥ 字符串部分:
1) 获取字符串中的索引:
-
-
- inidexOf 返回指定内容在字符串中的位置
-
console.log(str.indexOf("W"));
2. lastIndexOf 从后向前找,只找第一个匹配的
console.log(str.lastIndexOf("l"));
2) 去除空白:trim()只能去除字符串前后的空白
var str1 = " Hello World " console.log(str1); console.log(str1.trim());
3) 字符串转换大小写:
-
-
- 转大写 toUpperCase()
-
console.log(str.toUpperCase());
2. 转小写 toLowerCase()
console.log(str.toLowerCase());
4) 字符串操作方法:
-
-
- concat(); 拼接字符串,等效于+,+更常用
-
console.log(str.concat(str1));
2. slice(); 从start位置开始,截取到end位置,end取不到
console.log(str.slice(0,3));
3. substring();从start位置开始,截取到end位置,end取不到
console.log(str.substring(0,3));
4. substr(); 从start位置开始,截取length个字符,只有一个就参数就截取到最后
console.log(str.substr(0,4));
5. replace();替换字符串的某元素,并返回替换后的字符串
console.log(str.replace("H","h"));
6. split();将字符串分割(转换)成数组
console.log(str.split(0,4));
7. 需要区分是的是substring();substr();slice()
a) 当只有一个正参数的时候:
都返回的是从正参数开始后面的字符串
console.log(str.slice(1)); console.log(str.substr(1)); console.log(str.substring(1));
b) 当只有一个负参数的时候:
console.log(str.slice(-1));/传入负数,相当于传入length + (-1),倒着取,相当于倒着取两个 console.log(str.substr(-1));传入负数,相当于传入length + (-1) // 倒着截取 console.log(str.substring(-1));传入负数,相当于传入0 相当于全部截取
c) 当有两个正参数的时候
console.log(str.slice(0,1));取指定索引数 console.log(str.substr(0,1));截取指定字符数 console.log(str.substring(0,1));取制定索引的数
d) 当有一正一负的时候
console.log(str.slice(0,-1));第二个参数,也相当于 length + (-1) console.log(str.substr(0,-1));第二个参数,如果传入负数相当于0 截取不到,为空 console.log(str.substring(1,-5));第二个参数,如果是负数相当于0,但是此方法会把从两个参数中最小的值作为起始值开始截取
四、总结
感觉一口气总结完有点累,希望大家可以有所补充。