JavaScript返回默认值
JavaScript return a default value
我想制作一个这样的函数库(类似于jquery正在做的)
var myLib = function (idOfAnElement){
var myElement = document.getElementById(idOfAnElement);
return{
getHeight: function (){
return myElement.style.height;
},
getWidth: function (){
return myElement.style.width;
}
}
}
我的问题是,我不知道如何返回
myElement
默认情况下,如果没有像那样调用其他函数
myLib('myId').getHeight; // Returns Height
myLib('myId') // Is supposed to return the HTML-Element with id = 'myId'
创建一个特权方法,返回私有myElement
属性本身的值
var myLib = function (idOfAnElement){
var myElement = document.getElementById(idOfAnElement);
return{
getHeight: function (){
return myElement.style.height;
},
getWidth: function (){
return myElement.style.width;
},
getElement: function() {
return myElement;
}
}
}
myLib('myId').getElement();
只需将您想要的方法添加到元素对象中,就可以实现您想要的目标
Javascript允许轻松地向现有对象添加方法,即使this
指针也会指向绑定的对象。
var myLib = function (idOfAnElement){
var myElement = document.getElementById(idOfAnElement);
myElement.getHeight: function (){
return this.style.height;
}
myElement.getWidth: function (){
return this.style.width;
}
return myElement;
}
注意:虽然它有效,但我不推荐它。您需要注意不要覆盖现有的方法/字段,如果多个库采用相同的方法,则可能会发生冲突。
jQuery并不是这么做的:他们创建了一个包装器对象。要从jQuery中获取元素,您需要使用[0]
,例如$('#myEl')[0]
。
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 如何从Map返回默认值
- javascript:input字段在隐藏时返回默认值
- 如果文本框为空,则将其返回到默认值
- PHP 设置默认值以从 ajax 页面返回记录
- 我想在点击事件发生后将光标更改为等待,然后返回默认值
- 如果未返回任何值,则保持货币格式的JQgrid单元格为空,不带默认值
- 从一个模型到另一个模型的引用var在Backbone中返回默认值
- JavaScript返回默认值
- ExtJS Combo默认值返回null
- Javascript函数是否默认通过引用或值返回对象
- switch/case总是返回默认值
- 将默认值返回到预定义的 JavaScript 对象
- Javascript:如果参数未作为函数调用,则返回默认值
- Javascript函数返回默认值,而不是当前输入文本框的值
- Jquery实时点击导致双窗口打开,不能返回false,防止默认值,或者只是让链接直接停止