JavaScript基础学习2

 1 /*
 2     1.把函数作为参数、匿名函数作为参数传递到函数
 3 */
 4 function dogEat(food) {
 5     console.log("dog eat " + food);
 6 }
 7 
 8 function catEat(food) {
 9     console.log("cat eat" + food);
10 }
11 
12 function eat(food, eatFunction) {
13     eatFunction(food);
14 }
15 
16 eat("bone", dogEat);
17 eat("fish", catEat);
18 eat("rice", function(x) { console.log("eat " + x); })
19     /*
20         2.模拟实现类似onClick函数
21     */
22 
23 var server = {
24     'successReq': "req-success",
25     'successRes': "res-success",
26     'failReq': "req-faied",
27     'failRes': "res-faied",
28     'onFunc': function(type, callback) {
29         switch (type) {
30             case 'success':
31                 callback(this.successReq, this.successRes);
32                 break;
33             case 'fail':
34                 callback(this.failReq, this.failRes);
35                 break;
36             default:
37                 console.log("No type match!");
38                 break;
39         }
40     }
41 };
42 
43 var obj1 = Object.create(server);
44 
45 
46 function display(req, res) {
47     console.log("dis-req: " + req + " dis-res: " + res);
48 }
49 
50 obj1.onFunc("success", display); //$("#button").on('click',xxxFunc);模拟on函数
51 
52 obj1.onFunc("fail", function(res, req) {
53     console.log("failed: " + res + req);
54 })
 1 /** 3.对象的某个属性是函数 **/
 2 
 3 obj对象的func属性指向匿名函数
 4 var obj = {
 5     func:function (){
 6         console.log("func");
 7     }
 8 };
 9 
10 obj.func // [Function]
11 obj.func() //调用函数,控制台打印 func
12 
13 obj对象的func属性指向函数f
14 var obj = {
15     func:function f(){
16         console.log("func");
17     }
18 };
19 
20 obj.func // [Function: f]
21 obj.func() //调用函数,控制台打印 func
22 
23 属性指向有名称的函数似乎没什么用……
原文地址:https://www.cnblogs.com/yongwangzhiqian/p/5628914.html