你的位置:首页 > Java教程

[Java教程]JavaScript 基础第五天


一、引言

  前面我们讨论了函数的一些基本概念,因为函数在任何一门语言之中都是很重要所以还是要好好学。昨天打开博客的时候看到有人私信我的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) 直接获取日期的毫秒

      1. Html5格式的
var date = Date.now();console.log(date);

 

         2. 推荐格式的

var date = +new Date();console.log(date);

 

     4) 获取日期的指定部分

        1. 返回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)(取头不取尾)

      1. end 的取值为正值的时候:

            从start开始取,取不到end       

 console.log(arr.slice(0,2));

 

 

         2. end 的取值为负值的时候:

            如果end为负数,表示索引为数组的长度+负数

console.log(arr.slice(0,-2));

 

 

      2) 转换数组:

      1. toString 把数组转化成字符转。
console.log(arr.toString()); 

         2. valueOf 返回数组对象本身

      3) 获取数组中某元素的索引

      1. indexOf 返回数组的下标(其中有两个元素的情况)

              a) 一个参数:

console.log(arr1.indexOf(1));

 

 

              b) 两个参数:第二个参数规定开始检索的位置

console.log(arr1.indexOf(1,2));

      4) 追加和删除

      1.  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) 数组排序

      1. reverse(); 翻转数组中的元素。
arr.reverse();console.log(arr);

 

          2. sort(); 将数组中的元素排序

arr.sort(function(a,b){  return a-b;});console.log(arr);

 

 

     6) 数组迭代

      1. 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) 数组清空

      1. array.splice(0,arr.length);  删除数组中的所有项目
      2. array.length=0;  length可读可复制,赋值为0清空数组
      3. array = []

     8) 操作数组

      1. 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) 获取字符串中的索引:

      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) 字符串转换大小写:

      1. 转大写 toUpperCase()
console.log(str.toUpperCase());

 

         2. 转小写 toLowerCase()

console.log(str.toLowerCase());

 

 

      4) 字符串操作方法:

      1. 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,但是此方法会把从两个参数中最小的值作为起始值开始截取

四、总结

    感觉一口气总结完有点累,希望大家可以有所补充。