js学习-day08

arguments

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7     <!-- 
 8         在调用函数时,浏览器每次都会传递进两个隐含的参数
 9             1.函数的上下文对象this
10             2.封装实参的对象arguments
11                 -arguments是一个类数组对象,他也可以通过索引来操作数据,也可以获取长度
12                 -在调用函数时,我们所传递的实参都会在arguments中保存
13                 -arguments.length可以用来获取实参的长度
14                 -即使不定义形参,也可以通过arguments来使用实参
15                     arguments[0]表示第一个形参
16                     arguments[1]表示第二个形参
17                 -有一个属性叫做callee
18                     这个属性对应一个函数对象,就是当前正在指向的函数
19                                         的对象
20 
21      -->
22 <script type="text/javascript">
23     function fun(a,b){//有没有形参都不会影响arguments输出实参
24         console.log(arguments instanceof Array);//false
25         console.log(Array.isArray(arguments));//false
26         console.log(arguments.length);//根据传递给该函数的实参个数决定
27         console.log(arguments.callee);
28     }
29     fun("apple","banana");//上面的length为2
30 
31 </script>
32 </body>
33 </html>                            

 

 Date对象

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <script type="text/javascript">
 8     //创建一个Date对象,如果直接使用构造函数创建一个Date对象,则会
      封装为当前代码执行的时间
9 var d1 = new Date(); 10 console.log(d1); 11 12 //创建一个指定的时间对象 13 //需要再构造函数中个传递一个表示时间的字符串作为参数 14 //日期的格式 月份/日/年 时:分:秒 15 var d2 = new Date("12/01/2011 11:10:30"); 16 console.log(d2); 17 18 /*JavaScript 从 0 到 11 计算月份。 19 一月是 0。十二月是11。 20 6个数字指定年、月、日、小时、分钟、秒:*/ 21 var d3 = new Date(2018, 11, 24, 10, 33, 30, 0); 22 console.log(d3); 23 24 //不能省略月份。如果只提供一个参数,则将其视为毫秒。 25 var d4 = new Date(2018); 26 27 //上个世纪,一位和两位数年份将被解释为 19xx 年: 28 var d5 = new Date(99,04,27); 29 console.log(d5); 30 var d6 = new Date(9,4,27); 31 console.log(d6); 32 33 //一天(24 小时)是 86 400 000 毫秒

     //getTime()
        获取当前日期对象的时间戳
        时间戳指的是从格林威治标准时间的1970年1月1日,0时0分0秒
          到目前日期所花费的毫秒数(1秒=1000毫秒)
     
    //!!!!!!!!这里可以从毫秒到年份
    var time = d2.getTime(); 
    console.log(time/1000/60/60/24/365);

    //获取当前的时间戳,利用时间戳来测试代码执行的性能
    var start = Date.now();
    for(var i = 0;i<100;i++){
      console.log(i);
    }
    var end = Date.now();
    console.log("执行了"+(end-start)+"毫秒");
34 </script> 35 </body> 36 </html>

 

Math的方法

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <script type="text/javascript">
 8     //abs()可以用来对一个取绝对值
 9     console.log(Math.abs(-1))//1
10 
11     //ceil()方法可以对一个数进行向上取整
12     //只要是小数点有数都会向上取整
13     console.log(Math.ceil(1.001));//2
14 
15     //floor()方法会进行向下取整,小数部分会被去掉
16     console.log(Math.floor(1.99999));//1
17 
18     //round()四舍五入
19     console.log(Math.round(1.4));//1
20 
21     //random()会产生随机数0-1的随机数
22     //生成一个x-y之间的随机数
23         //Math.random(Math.random()*(y-x)+x);
24     var ran = Math.random();
25     console.log(ran);
26 
27     //x的y次幂
28     console.log(Math.pow(12,3));//1728
29 </script>
30 </body>
31 </html>

 

包装类(基本数据类型创建的对象)

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7 <!-- 
 8     基本数据类型
 9         String Number Boolean Null Undefined
10     引用数据类型
11         Object
12 
13     在JS中为我们提供了是哪个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象
14     String()
15         可以将基本数据类型字符串转换为String对象
16     Number()
17         可以将基本数据类型的数字转换为Number对象
18     Boolean()
19         可以将基本数据类型的布尔值转换为Boolean对象
20     
21     但是在实际应用中不会用这个基本数据类型的对象,因为在做比较的时候,即使值是一样的,也会显示不相等
22 
23     方法和属性只能添加给对象,不能添加给基本数据类型
24         -当我们对一些基本数据类型的值去调用属性和方法时,
25         浏览器会临时使用包装类将其转换为对象,然后在调用
26         对象的属性和方法。
27         -调用完以后,再将其转换为基本类型
28     所以会用到toString()转换
29  -->
30 
31  <script type="text/javascript">
32      //用String Number Boolean新创建的对象可以更好一些,使用起来更加的灵活,可以对他们创建的对象添加属性
33      var num = new Number();
34      var str = new String();
35      var bool = new Boolean();
36 
37      num.hello = "say hello feature";
38      console.log(num.hello);
39 
40      //创建的时候赋值为3
41      var num1 = new Number(3);
42      var num2 = new Number(3);
43      console.log(num1 == num2);//false
44 
45      //最好不用基本数据类型
46      var s = 123;
47      s = s.toString();
48      s.hello = "coco";
49      console.log(s.hello);//undefined
50 
51 
52  </script>
53 </body>
54 </html>

 

posted @ 2019-07-15 18:06  进击的小laufen  阅读(114)  评论(0)    收藏  举报