发表于: 2017-07-26 04:33:03

1 889


今天完成的事情:

找职位页面编写。

听景鑫的小课堂自执行函数,学习了函数相关的知识。


明天计划的事情:

写页面,研究一下官网的写法。

学习ui-bootstrap的用法。


遇到的问题:

暂无。


收获:

自执行函数,有两种理解,一种是立即执行函数,另一种是递归函数。一般情况下理解为立即执行函数

立即执行函数:

立即执行函数,如:

var a = function () {
   console.log(1);
}()

!function a() {
   console.log(2);
}()

new function () {
   console.log(3);
}()

递归函数,即自身调用自身:

function a(){
console.log(1);
a();
}

可以和立即执行函数一起使用:

!function a(){
console.log(1);
a();
}()

更近一步,可创建一个匿名的立即执行递归函数:

(function () {
   console.log(2)
   arguments.callee()
}())

arguments数组内部的对象,有一些属性如下:

arguments.callee返回函数函数本身。

arguments.length是函数调用时接收的参数长度。

arguments[0]返回函数调用时接收的第一个参数。


函数的参数按值传递,如:

function a(num,person1,person2){
   num=20;
   person1.name="desu";
   person2={};
   person2.name="dajun";
}

var num=10,person1={},person2={};
person1.name="xiaoyu";
person2.name="xiaoli";
a(num,person1,person2);
console.log(num,person1.name,person2.name);//10 "desu" "xiaoli"

返回的值中只用person1被改变。


还知道了函数表达式的一种写法,可以将有名函数赋值给变量,如:

var b=function a(){
   console.log(5);
}

这样写也是没问题的。


返回列表 返回列表
评论

    分享到