码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中的Date,RegExp,Function对象

时间:2018-06-28 10:15:02      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:via   返回   cti   eth   mfc   功能说明   comment   调试   位置   

Date对象

创建Date对象

//方法1:不指定参数
var nowd1=new Date();
alert(nowd1.toLocaleString( ));
//方法2:参数为日期字符串
var nowd2=new Date("2004/3/20 11:12");
alert(nowd2.toLocaleString( ));
var nowd3=new Date("04/03/20 11:12");
alert(nowd3.toLocaleString( ));
//方法3:参数为毫秒数
var nowd3=new Date(5000);
alert(nowd3.toLocaleString( ));
alert(nowd3.toUTCString());
//方法4:参数为年月日小时分钟秒毫秒
var nowd4=new Date(2004,2,20,11,12,0,300);
alert(nowd4.toLocaleString( ));
//毫秒并不直接显示

 

Date对象的方法—获取日期和时间

获取日期和时间
getDate()                 获取日
getDay ()                 获取星期
getMonth ()               获取月(0-11)
getFullYear ()            获取完整年份
getYear ()                获取年
getHours ()               获取小时
getMinutes ()             获取分钟
getSeconds ()             获取秒
getMilliseconds ()        获取毫秒
getTime ()                返回累计毫秒数(从1970/1/1午夜)

 

Date对象的方法—设置日期和时间

//设置日期和时间
//setDate(day_of_month)       设置日
//setMonth (month)                 设置月
//setFullYear (year)               设置年
//setHours (hour)         设置小时
//setMinutes (minute)     设置分钟
//setSeconds (second)     设置秒
//setMillliseconds (ms)       设置毫秒(0-999)
//setTime (allms)     设置累计毫秒(从1970/1/1午夜)
   
var x=new Date();
x.setFullYear (1997);    //设置年1997
x.setMonth(7);        //设置月7
x.setDate(1);        //设置日1
x.setHours(5);        //设置小时5
x.setMinutes(12);    //设置分钟12
x.setSeconds(54);    //设置秒54
x.setMilliseconds(230);        //设置毫秒230
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日5点12分54秒

x.setTime(870409430000); //设置累计毫秒数
document.write(x.toLocaleString( )+"<br>");
//返回1997年8月1日12点23分50秒

 

Date对象的方法—日期和时间的转换

日期和时间的转换:

getTimezoneOffset():8个时区×15度×4分/度=480;
返回本地时间与GMT的时间差,以分钟为单位
toUTCString()
返回国际标准时间字符串
toLocalString()
返回本地格式时间字符串
Date.parse(x)
返回累计毫秒数(从1970/1/1午夜到本地时间)
Date.UTC(x)
返回累计毫秒数(从1970/1/1午夜到国际时间)

 

RegExp对象

//RegExp对象
   // 在表单验证时使用该对象验证用户填入的字符串是否符合规则.
   //创建正则对象方式1  参数1 正则表达式  参数2 验证模式  g global / i 忽略大小写. //参数2一般填写g就可以,也有“gi”.
   // 用户名 首字母必须是英文, 除了第一位其他只能是英文数字和_ . 长度最短不能少于6位 最长不能超过12位
   //----------------------------创建方式1
   /* var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$","g");
   //
   //验证字符串
   var str = "bc123";
   alert(reg1.test(str));// true
   //----------------------------创建方式2  /填写正则表达式/匹配模式;
   var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,11}$/g;
   alert(reg2.test(str));// true
    */
   //-------------------------------正则对象的方法-------------------
       //test方法  ==>  测试一个字符串是否复合 正则规则. 返回值是true 和false.
   //-------------------------String 中与正则结合的4个方法------------------.
   // macth search split replace
   var str = "hello world";
   //alert(str.match(/o/g)); //查找字符串中 复合正则的 内容.
   //alert(str.search(/h/g));// 0  查找字符串中符合正则表达式的内容位置
   //alert(str.split(/o/g)); // 按照正则表达式对字符串进行切割. 返回数组;
   alert(str.replace(/o/g, "s")); // hells wsrld  对字符串按照正则进行替换.

 

Math对象

//Math对象
   //该对象中的属性方法 和数学有关.
   //Math是内置对象 , 与Global的不同之处是, 在调用时 需要打出 "Math."前缀.
   //属性学习:
   //alert(Math.PI);
   //方法学习:
       //alert(Math.random()); // 获得随机数 0~1 不包括1.
       //alert(Math.round(1.5)); // 四舍五入
       //练习:获取1-100的随机整数,包括1和100
            //var num=Math.random();
           //num=num*10;
           //num=Math.round(num);
           // alert(num)
       //============max  min=========================
       /* alert(Math.max(1,2));// 2
       alert(Math.min(1,2));// 1 */
       //-------------pow--------------------------------
       alert(Math.pow(2,4));// pow 计算参数1 的参数2 次方.
       
abs(x)    返回数的绝对值。
exp(x)    返回 e 的指数。
floor(x)对数进行下舍入。
log(x)    返回数的自然对数(底为e)。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)    把数四舍五入为最接近的整数。
sin(x)    返回数的正弦。
sqrt(x)    返回数的平方根。
tan(x)    返回角的正切。

 

Function 对象(重点)

函数的定义:

function 函数名 (参数){?函数体;
   return 返回值;
}

 

功能说明:

可以使用变量、常量或表达式作为函数调用的参数

函数由关键字function定义

函数名的定义规则与标识符一致,大小写是敏感的

返回值必须使用return

Function 类可以表示开发者定义的任何函数。

用 Function 类直接创建函数的语法如下:

function 函数名 (参数){
   ?函数体;
  return 返回值;
}
//another way:
var 函数名 = new Function("参数1","参数n","function_body");

 

虽然由于字符串的关系,第二种形式写起来有些困难,但有助于理解函数只不过是一种引用类型,它们的行为与用 Function 类明确创建的函数行为是相同的。

实例:

alert(1);
function func1(){
   alert(‘hello wang!‘);
   return 8
}

   ret=func1();
   alert(ret)
----------------

var func1=new Function("name","alert(\"hello\"+name);")
func1("wang")

 

注意:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以:

<script>
   //f(); --->OK
   function f(){
       console.log("hello")
   }
   f() //----->OK
</script>

 

Function 对象的 length 属性

如前所述,函数属于引用类型,所以它们也有属性和方法。

比如,ECMAScript 定义的属性 length 声明了函数期望的参数个数。

alert(func1.length)

 

Function 对象的方法

Function 对象也有与所有对象共享的 valueOf() 方法和 toString() 方法。这两个方法返回的都是函数的源代码,在调试时尤其有用。

 

函数的调用

function func1(a,b){

   alert(a+b);
}
   func1(1,2);  //3
   func1(1,2,3);//3
   func1(1);    //NaN
   func1();     //NaN

   //只要函数名写对即可,参数怎么填都不报错.

-------------------面试题-----------
function a(a,b){
   alert(a+b);
}
  var a=1;
  var b=2;
  a(a,b)

 

函数的内置对象arguments

function add(a,b){
       console.log(a+b);//3
       console.log(arguments.length);//2
       console.log(arguments);//[1,2]
   }
   add(1,2)
   ------------------arguments的用处1 ------------------
   function nxAdd(){
       var result=0;
       for (var num in arguments){
           result+=arguments[num]
       }
       alert(result)
   }
   nxAdd(1,2,3,4,5)
//     ------------------arguments的用处2 ------------------
   function f(a,b,c){
       if (arguments.length!=3){
           throw new Error("function f called with "+arguments.length+" arguments,but it just need 3 arguments")
       }
       else {
           alert("success!")
       }
   }
   f(1,2,3,4,5)

 

匿名函数

// 匿名函数
   var func = function(arg){
       return "tony";
   }

// 匿名函数的应用
   (function(){
       alert("tony");
   } )()

   (function(arg){
       console.log(arg);
   })(‘123‘)

 


 

技术分享图片

识别图中二维码,领取python全套视频资料

JavaScript中的Date,RegExp,Function对象

标签:via   返回   cti   eth   mfc   功能说明   comment   调试   位置   

原文地址:https://www.cnblogs.com/IT-Scavenger/p/9237038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!