zoukankan      html  css  js  c++  java
  • JS函数,数组,日期

    函数是JS的一个重点,函数就是代码复用的一种机制或是将代码封装成功能的代码段,函数一共有两种定义方式
    函数声明的方式定义一个函数
    function + 函数名:一般用单词的动词,例如getMax... +参数列表:此处一般是形参也可以是一个函数){
    函数体:可执行的代码
    函数后面可以有一个return;(return后面加上需要返回的值,如果没有写return或者return后面没有写返回值,那么函数最后返回undefined,当没有return的时候,函数只是为了执行代码,return语句下面不要加代码,因为不会执行)
    }
    推荐的做法是让函数始终返回一个值,要么就不要返回,如果返回多个值,可以放在数组或对象里。
    匿名函数:像赋值运算符后面的这种没有名字的函数叫做匿名函数。一般多用于绑定事件的时候。
    var + 变量:例如a,b,c... =function(参数){
    函数体;
    return ...;
    }
    两种函数的共同点是:都可以执行调用
    不同点是:函数声明的函数是用函数名来调用,JS有预解析的功能,预解析的时候函数声明的函数可以提升到作用域的最前面
    而函数表达式没有名字,需要使用的时候用变量来调用,当JS预解析时,变量的声明(仅仅只是声明).函数的声明.参数会提示到作用域最前面,这样会造成函数表达式无法运行。
    在JS中是没有块级作用域的,只有全局作用域和局部作用域,全局作用域就是同一个script标签之间的区域,所有变量都能在作用域任何一个地方使用,函数内没有用var 声明的变量也属于全局变量。而局部作用域就是指一个函数里的区域。

    为了简写,有了一个自执行函数:
    举例:var sum =function(a,b){
    return a+b;
    }
    它的自执行函数就是
    (Function(a,b){
    Return a+b;
    }( ));
    或者(Function(a,b){
    Return a+b;
    })( );
    此处函数最后面的;不能省略
    还有一种回调函数,就是把函数写在参数里进行引用。
    JS中的数据类型分为两种,一种是简单数据类型,比如number ,string ,boolean ,null ,undefined,其中boolean一共就两个数据类型,null和undefined是比较特殊的类型,只有一个。
    第二种是复杂数据类型,就是指对象,现在接触到的有Array ,Date,function
    开发者还开发一些比较特殊的函数,Math就是其中一个,Math的使用就是函数的提取,常用的有
    Math.pow(x,y);x的y次幂
    Math.round(四舍五入,小数);
    Math.ceil(向上取整,小数);
    Math.floor(向下取整,);
    Math.max(x,y,z...);
    Math.min(x,y,z...);
    Math.random();生成一个[0,1)的随机数,1是取不到的
    以上是函数的一些内容,下面还将介绍日期Date的使用,
    Var date=new Date();命名和数组有点像
    console.log(date);=console.log(date.toString);第一种写法内部默认调用了toString
    Console.log(date.valueOf());会打印出一个13位的数字,指的是从1970年1月1日00时00分00秒000毫秒开始计算的毫秒,1000毫秒=1秒
    外国人一般用date.toDateString表示日期,用toTimeString表示当天时间;像我们在中国也有另外一个方法,date.toLocalDateString表示日期,toLocalTimeString表示时间,这样打印出来的时间和日期更贴合中国人的审美
    var date = new Date(2016,6,31); 外国人的计算方式,月份是从0开始
    var date = new Date("2016-07-31");
    var date = Date.parse("2016-07-32") ; // 解析

    var date = Date.now(); //TTML5里有的方法,IE9之后的浏览器才支持
    var date = +new Date(); // 用的最广泛的,各浏览器都支持的
    console.log(date);
    Var date=new Date(2016,8,1);
    可以接受三种参数:
    2016,8,1日期的每一部分 这个是外国人的计算方式,月份从0开始
    “2016-8-1”字符串的日期格式
    表示日期的毫秒形式 十三位数字
    如果不是以上三种方式,那么返回NaN

    日期格式化
    getTime() 返回毫秒数和valueOf()结果一样
    getMilliseconds()
    getSeconds() 返回0-59
    getMinutes() 返回0-59
    getHours() 返回0-23
    getDay() 返回星期几 0周日 6周6 0--6
    getDate() 返回当前月的第几天,当月的几号
    getMonth() 返回月份,从0开始
    getFullYear() 返回4位的年份 如 2016

    第三部分是Array,即数组
    两种创建数组的方式:
    Var arr=[ ];
    Var arr=new Array[ ];
    .length表示数组的长度,例:var arr=[“a”,”b”,”c”,”d”];
    Length就是4,arr[0]=”a”,arr[1]=”b”
    转换数组:把数组转换成字符串.toString
    返回数组对象本身.valueOf()
    操作数组:join() 括号里面可以写用什么隔开数组,例如:join(“*”)
    Concat 例如:var arr=[12,23]; var arr1=[34,56];
    Var arr2=arr.concat(arr1); console.log(arr2);
    arr2=[12,23,34,56];arr和arr1不变

    数组的追加删除前项后项
    push() 添加到数组的
    pop() 删除数组的最后一项
    shift() 删除数组的最前一项
    unshift() 添加到数组的最前面

  • 相关阅读:
    [swustoj 243] 又是一年CET46
    [转] 解析Qt资源文件使用
    [转] Qt 多线程学习
    USACO全部测试数据
    [HUD 1195] Open the Lock
    Vue-cli+webpack单页模式详解(转)
    关于vs code终端执行webpack命令报错问题(转)
    git使用相关记录
    关于flex布局兼容
    canvas绘画交叉波浪
  • 原文地址:https://www.cnblogs.com/sw1990/p/5727163.html
Copyright © 2011-2022 走看看