将变量传递给JavaScript中的函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将变量传递给JavaScript中的函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1440字,纯文字阅读大概需要3分钟。
内容图文
我不确定我的代码有什么问题.我不断获得maxLength的NaN变量.我是否正确编写此函数?
我正在尝试调用的辅助函数:
(function($) {
$.fn.countRemainingCharactersHelper = function(maxLength) {
id = this.attr('id');
var textLength = this.val().length;
var textRemaining = maxLength - textLength;
if (textLength >= maxLength) {
textRemaining = 0;
}
var messageId = id.slice(0, (id.indexOf('someTxtBox'))) + 'someTxtBox';
$('#' + messageId).html(textRemaining + ' characters remaining.');
};
})(jQuery);
调用上述辅助函数的函数:
function countRemainingCharacters() {
$(this).countRemainingCharactersHelper(1000);
}
function countRemainingCharacters(maxLength) {
$(this).countRemainingCharactersHelper(maxLength);
}
调用传递maxLength变量的函数
$('#samplesomeTxtBox').click(function() {
countRemainingCharacters(4000);
});
解决方法:
这将引用countRemainingCharacters()函数中的窗口,因为您未使用范围对其进行调用.您可以使用call()修复该问题:
$('#samplesomeTxtBox').click(function() {
countRemainingCharacters.call(this, 4000);
})
还要注意,用于生成元素ID来放置消息的逻辑有些偏离.您可以通过使用data属性来显式设置元素ID来对其进行改进.
在这种情况下,您的重载方法也是多余的,因为您可以利用JavaScript的“伪造”逻辑来提供默认值(如果未提供默认值).这意味着您可以将两个countRemainingCharacters()函数转换为一个:
function countRemainingCharacters(maxLength) {
$(this).countRemainingCharactersHelper(maxLength || 1000);
}
此时剩下的就是创建一个键事件处理程序,以计算用户键入时剩余的字符.
内容总结
以上是互联网集市为您收集整理的将变量传递给JavaScript中的函数全部内容,希望文章能够帮你解决将变量传递给JavaScript中的函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。