openwrt之luci界面开发------问题解析

查阅视频:

我取不来名字的icon-default.png?t=N7T8https://space.bilibili.com/320467466

在openwrt的luci界面开发中,用到的这个E()函数,其功能是在网页界面创建各种各种视图效果,如按钮,文字等等。

其原函数:

function E(){

       return L.dom.create.apply(L.dom,arguments)

}

这个E()函数定义实质上是调用了L.dom.creaate.apply(L.dom,arguments)

这里的L实质上代表了Leaflet库,在Leaflet中,L是对Leaflet对象的简称,通常作为前缀使用,以表示某个方法或类属于Leaflet库。

apply()是javescript中的一个方法。作用是能够编写用于不同对象的方法。

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // 将返回 "Bill Gates"

在上述例子中,person 的 fullName 方法被应用到 person1

this是什么意思?  this是javescript里的关键字

this是函数的的自有变量,指向了保存在堆中的某个对象的数据

那么对象在javescript中是怎么定义的?

 zaijavescript中对象由两部分组成:一个是对象的名字(见图1)

                                                         一个是对象的名字所具有的数据(见图二)

                                                                        图1

                                                                  图2

对象的名字存放在栈中,对象的数据存放在堆中

判断this指向那个对象的数据(优先级由高到低):

1.new关键字创建的对象

2.通过      call    /    apply   / bind  方法可以操纵this指向我们给到的对象

3.函数作为A对象的方法来调用,函数的this指向就是A对象

4.this指向undefined  箭头函数没有this   this通过词法作用域从外层获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值