caller.callee是与javascript函数相关的两个属性,今天来总结下. Function.caller caller是javascript函数的一个属性,它指向调用当前函数的函数,如果函数是在全局范围内调用的话,那么caller的值为null. function outer() { inner(); } function inner() { if(inner.caller==null) { //值为null,在全局作用域下调用 console.log("我是在全局环境下调用的&qu…
获取当前日期输入当年第几天 //输入,年月日,获取这个日期是这一年的第几天 //年-月--日:20171月31日 function getDay(year,month,day){ //定义变量存储对应的天数 var days=day //如果用户输入的是一月份,没有必要向后算天数,直接返回天数 if(month==1){ return days; } //代码执行到这里--用户输入的不是1月份 //比如输入的是4月份23日---1,2,3,+23 //定义一个数组,存储每个月的天数 var mo…
一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = function() {}; test;    //undefined test();   //TypeError var test = function() {}; 命名函数的赋值表达式: var test = function bar() { test();    //正常运行 }; test();    /…
var a=1; function b(x){ var c=2; console.log(x); } b(3); ·执行环境(execution context),也称为环境.执行上下文.上下文环境.执行上下文环境: 每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文.执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code,分为全局代码.函数代码和eval代码)概念进行区分. 通俗的话来讲就是,JS中的函数运行…
在ECMAScript中函数实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定.函数通常是使用函数声明(定义函数的方法之一)语法定义的,如: function sum(num1 , num2){ returnnum1 + num2; } 这与下面使用函数表达式(定义函数的方法之二)定义函数的方式几乎相差无几: var sum = function(num1 , num2){…
在函数内部有两个特殊的对象,arguments 和 this,还有一个函数对象的属性caller. arguments对象 arguments是一个类似数组的对象,包含着传入函数的所有参数. function doAdd(){ if(arguments.length == 1){ return arguments[0] + 10; }else if(arguments.length == 2){ return arguments[0] + arguments[1]; } } console.lo…
Function.caller指向当前函数的调用者,是arguments.caller的替代者 arguments.caller也是指向当前函数的调用者,已被废弃 arguments.callee是对当前函数的引用,只能在函数内部使用,ES5严格模式已被废弃 arguments.callee.caller就是Function.caller…
(参考:http://justcoding.iteye.com/blog/589111) Arguments  该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数 function :选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引. 说明  Arguments 是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象. Arguments是一个类似数组但不是数组的对象,…
注:这篇文章原文:http://www.jb51.net/article/30883.htm 自己作为学习,重新写写. 一.写在前面的话 前端javascript编程还只是略懂皮毛,DOM知道一点,jquey会用一点点,深知夯实基础,了解前端的系统的知识对于web开发(自己主要做的是PHP后台的开发)的重要.固然,要用什么,就查什么(现学现卖)很合理,但对于长远来讲,只是在隔靴捎痒,很难有实际的作为. 故,痛定思痛,应该对web前端,尤其是 javascript开发(过程式-->面向对象-->…
代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { return handlerSingleReq((req, logInfo) -> { // 业务操作 ....略.... }, request); } public SingleRespTTO handlerSingleReq(BiConsumer<SingleReqTTO, SingleRespT…