JavaScript函数内部属性和函数方法实例详解,php根据日期或时间戳获取星座信息和生肖等信息
分类:面向对象

享用三个用到php遵照日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以至利用情势如下:

1.定义方法

  1. 带参不带重返值
scala> def main(args: Array[String]) :Unit = {println(args.length)}
main: (args: Array[String])Unit
scala> main(Array("a","b"))
2
scala>

动用Unit其实也是有重返值,只可是再次来到值为空:Unit的实例:()

  1. 带参带再次回到值
    主意的回到值类型能够不写,编写翻译器能够推断出来,不过对于递归函数,必得钦点重回类型
scala> def add(x: Int) : Int = x + 1
add: (x: Int)Int
scala> add(1)
2
scala>
  1. 无参无重临值
scala> def sayHello() :Unit = {println("hello")}
sayHello: ()Unit
scala> sayHello()
hello
scala>

各种函数都以Function类型的实例

JavaScript函数内部属性和函数方法实例详细解释,javascript详明

函数是由事件驱动的大概当它被调用时举行的可重复使用的代码块。

函数是目的,有温馨的天性和章程。首先通过console下输出的函数属性方法来直观的看一下:

图片 1

函数内部属性只要饱含八个奇特的靶子:arguments和this。

函数属性蕴含:length和prototype

函数方法(非世襲)包罗:apply(State of Qatar和call(State of Qatar

持续而来的函数方法:bind(卡塔尔、toString(卡塔尔国、toLocaleString(卡塔尔、valueOf(卡塔尔(قطر‎

此外的脚下不熟,后边再补充

1. 函数内部属性

在函数内部,有多个新鲜的对象,arguments和this。

arguments属性

arguments是一个类数组对象,饱含传入函数的有着参数,arguments的首要用处是保留函数参数,但那一个指标有叁个callee属性,该属性是一个指南针,指向具备那么些arguments对象的函数,下边是那多少个特出的阶乘函数。

function factorial (num){
if(num <= 1){
return 1;
} else{
return num * factorial(num-1); 
}
}

概念阶乘函数经常都会用到递归算法,如下边代码所示,在有函数名字,并且函数名字随后也不会变动的景况下,这种概念没难点。然则那些函数的实行与函数名factorial牢牢耦合在了协同,为了撤销这种有条不紊耦合现象(函数名字改成等气象),能够接纳arguments.callee。

function factorial(num){
if(num<=1){
return 1;
} else{
return num * arguments.callee(num-1);
}
}

重写后的factorial(卡塔尔函数的函数体内,未有再援引函数名factorial。那样纵然改换函数名字,都得以保险健康达成递归调用。比方:

var trueFactorial = factorial; //改变原函数体的指针(保存位置)
factorial = function (){ //factorial 指向返回0的新函数
return 0;
}
alert(trueFactorial(5)); //120
alert(factorial(5)); //0

倘诺,不选取arguments.callee,那么trueFactorial(5State of Qatar同样重回0;

this属性

2. 函数的形式

各种函数都包罗多个非世袭而来的主意:apply(State of Qatar和call(State of Qatar。这五个措施的用场都是在一定的域中调用函数(看见此间木有看懂);其确实有力之处在于能够强大函数赖以运转的成效域

有关JavaScript函数内部属性和函数方法的相关知识,小编就给大家介绍这么多,希望对大家有所扶助!

/** 
判断干支、生肖和星座 
*/ 
function birthext($birth){ 
 if(strstr($birth,'-')===false&&strlen($birth)!==8){ 
  $birth=date("Y-m-d",$birth); 
 } 
 if(strlen($birth)===8){ 
  if(eregi('([0-9]{4})([0-9]{2})([0-9]{2})$',$birth,$bir)) 
  $birth="{$bir[1]}-{$bir[2]}-{$bir[3]}"; 
 } 
 if(strlen($birth)<8){ 
  return false; 
 } 
 $tmpstr= explode('-',$birth); 
 if(count($tmpstr)!==3){ 
  return false; 
 } 
 $y=(int)$tmpstr[0]; 
 $m=(int)$tmpstr[1]; 
 $d=(int)$tmpstr[2]; 
 $result=array(); 
 $xzdict=array('摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手'); 
 $zone=array(1222,122,222,321,421,522,622,722,822,922,1022,1122,1222); 
 if((100*$m+$d)>=$zone[0]||(100*$m+$d)=$zone[$i]&&(100*$m+$d)

 使用实例如下:






打印结果如下:

以上就是关于php根据日期或时间戳获取星座信息和生肖等信息的函数方法,希望对大家的学习有所帮助。

2.概念函数

  1. 函数的概念,在scala中,函数也是一个对象,能够用一个变量来援用
scala> var fun = (x: Int) => x * 10
fun: Int => Int = <function1>

function1:表示fun那么些变量的种类是function,何况是四个参数的函数

  1. 函数的调用
scala> fun(3)
res: Int = 30
  1. 无名函数
scala> (x: Int, y: Int) => x + y
res29: (Int, Int) => Int = <function2>
scala> res29(2,6)
res30: Int = 8
  1. scala的函数与方法的区分
  • 函数富含 =>,方法的定义使用:def
  • 函数是足以视作参数传入方法里面包车型客车的,而艺术是不可能当作参数的
  • eg:arr数组调用map方法,传入(x: IntState of Qatar => x10无名函数将数组中的种种成分施行10操作
scala> val arr = Array(1,2,3,4,5)
arr: Array[Int] = Array(1,2,3,4,5)
scala> arr.map((x: Int) => x*10)
res31: Array[Int] = Array(10,20,30,40,50)
scala> arr.map(x => x*10)
res32: Array[Int] = Array(10,20,30,40,50)
scala> arr.map(_*10)
res33: Array[Int] = Array(10,20,30,40,50)
  • 函数的变体
scala> var f: Int => Int = {x => x * x}
f: Int => Int = <funtion1>

剖析: 定义一个函数f,选用一个int类型的参数,重回值为int。 函数的落到实处为{x => x*x}

三种创设函数的点子:

您或者感兴趣的篇章:

  • js中方法重载怎么着完成?以至函数的参数难点
  • jquery与js函数矛盾的三种缓慢解决措施
  • 种种艺术完成当jsp页面完全加载成功后实行三个js函数
  • 一个拾叁分周密的javascript U翼虎L拆解深入分析函数和分支ULANDL深入解析方法
  • JavaScript函数的4种调用方法精解
  • 浅谈javascript 函数内部属性

函数是由事件驱动的要么当它被调用时进行的可重复使用的代码块。 函数是目的,...

3.将艺术转产生函数

概念一个函数myFun,参数为二个方法(f: Int => Int)Unit,传入方法f0.

scala> def myFun(f: Int => Int){
            printfln(f(100))
        }
myFun: (f: Int => Int)Unit

scala> val f0 = (x: Int) => x*x
f0: Int => Int = <function1>

scala> myFun(f0)
10000

在概念叁个方法f1.无法把三个办法充任参数字传送入别的叁个主意,只好把二个主意的格局名当作参数,传入到此外叁个艺术中,假设在一个格局中盛传方法名,会将艺术名转变到贰个函数

scala> def f1(x: Int) = x*x
f1: (x:Int)Int

scala> f1(4)
res34: Int = 16

scala> myFun(f1(4))
<console>:11: error: type mismatch;
found    :Int
required :Int => Int

scala> myFun(f1)
10000

scala> f1 _
res35: Int => Int = <function1>

scala> myFun(f1 _)
10000

scala> myFun(x => f1(x))
10000
// 方法一
function sum(num1, num2) {
  return num1+num2;
}

//方法二
var sum = function(num1, num2) {
  return num1+num2;
};

//方法三
var sum = new Function(“num1”, “num2”, “return num1+num2;”);

最为不用方法三去创制函数,不过方法三得以更明显的观看,函数正是二个目标,通过new实例化获得。而函数名正是一个保存此对象的援用

也多亏因为函数名就是叁个特殊的变量,所以,在JavaScript中,未曾函数重载这一说,有的只是覆盖

函数评释升高:函数的评释可以升官到效用域的顶层,进而在函数创立以前调用函数也不回以致错误:

alert(sum(1, 2));
function sum(a, b) { return a + b }

上边说起函数其实就是三个特别规的变量,所以作为多个值的函数有以下职能:

  1. 函数作为另一个函数的参数
  2. 函数作为另一个函数的再次来到值

在函数内部有五个奇特的靶子:arguments, this 。

arguments:arguments是多个类数组对象,里面保存着调用函数时传出函数的参数
arguments有一个叫callee的品质,arguments.callee保存着那几个函数的引用。

this:this援引的是函数施行的情况指标。

函数作为对象自己有三个目的:length, prototype 。

length:length属性是声称函数时参数的个数。

prototype:prototype里面保存着Function类的实例方法。

函数作为对象有两个主意:call(卡塔尔(قطر‎, apply(卡塔尔, bind(State of Qatar 。

四个方式的效果都以更动函数内部的this对象的援引。

apply():apply方法的率先个参数是多少个对象,用来代表调用该格局的函数的this,第四个是三个数组,保存着函数的参数。

call():call方法的第叁个参数的功能与call相近,区别的是,后面的参数能够是八个,每二个都以函数的参数。

bind():bind方法也能够校订成效域,但差别的时,此方法会再次回到贰个新的函数,那个新的函数中的this会是bind方法中传唱的参数对象。

本文由10bet手机官网发布于面向对象,转载请注明出处:JavaScript函数内部属性和函数方法实例详解,php根据日期或时间戳获取星座信息和生肖等信息

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文