加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Dojo 学习笔记–dojo模块引用 和上下文绑定

发布时间:2020-12-16 21:31:05 所属栏目:百科 来源:网络整理
导读:1. dojo 的模块化 dojo 的模块化是指,dojo将每个冗杂的js代码有组织的分割开,划分为模块,需要该模块时,将其引入,即可使用,这个类似于在java代码里的 import 语句; 比如我们需要dojo.a.b 模块,只需要执行下面的语句: require("dojo.a.b"); // 实际上

1. dojo 的模块化

dojo 的模块化是指,dojo将每个冗杂的js代码有组织的分割开,划分为模块,需要该模块时,将其引入,即可使用,这个类似于在java代码里的 import 语句;

比如我们需要dojo.a.b 模块,只需要执行下面的语句:

require("dojo.a.b");  // 实际上这个是相当于加载dojo/a/b.js 文件

2dojo.hitch()

此方法为指定的函数绑定上下文,并执行。

function printAge()
{ 
     console.log(age);
}
var girl = {
       age:20
}
var woman = {
      age:40
}

dojo.hitch(girl,printAge);      // 为printAge 绑定girl上下文,输出:20;
dojo.hitch(woman,printAge);      //为printAge 绑定woman 上下文 ,输出 40;

//dojo.hitch 的实质:
dojo.hitch(o,f); //o 是对象,f是函数
//等价于
function (){ return f.apply(o,arguments)};
function() { return f.call(o,.....) };

dojo.hitch跟空对象绑定的情况:

// dojo.global 是对全局对象空间的一个引用
//第一种形式
dojo.hitch(null,f);  //  f 是一个函数,等价于
dojo.hitch(f);  // 返回 f


//第二种形式
dojo.hitch(null,"f");  // 等价于
dojo.hitch("f");  //返回..
function() {return dojo.global[f].apply(dojo.global,arguments);}

dojo.hitch() 的一般语法:

dojo.hitch(context,functionName,arg1,arg2,arg3.......);
//等价于:
function(){
       return context,functionName.apply(
       context,[arg1,arg3....].concat(arguments)  
    );
};
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读