引用变量,它执行函数,但是向变量中添加字符串,将函数作为字符串而不是值返回
Referencing variable,it executes the function,however adding strings to the variable,returns function as string instead of value
该程序应该是使用php和javascript的实时搜索...当您键入时,它会在下面搜索。我最近才开始学习javascript,如果我的知识有限,很抱歉...
$(document).ready(function () {
$('#results').append('<p>Started</p>');
var getText = (function () {
return document.getElementById('year').value;
});
var text = getText;
var getText1 = (function () {
return document.getElementById('class').value;
});
var text1 = getText1;
setInterval(function () {
var newText = getText;
var newText1 = getText1;
var loading = "search.php?year=" + newText + "&class=" + newText1;
$('#results').append(newText1);
if (text !== newText || text1 !== newText1) {
$('#results').load(loading);
$('#results').append('somethinghappened');
};
text = newText;
text1 = newText1;
}, 100);
});
所以当我附加 newText1 时它工作正常,但是如果我尝试附加"加载"它会返回:
search.php?year=function (( { return document.getElementById("year"(.value; }&class=function (( { return document.getElementById("class"(.value; }
谁能解释一下这两种情况之间的区别是什么以及为什么会发生差异? 以及如何修复它,以便它加载正确的URL
我搜索并发现: JavaScript:将匿名函数分配给变量时,不会传递函数返回值,而是将函数作为字符串,但是不太完全理解传递两个参数的含义,当我尝试做类似的事情时,它没有按预期工作......
任何帮助,非常感谢,提前感谢。
var newText = getText;
var newText1 = getText1;
您将函数getText
和getText1
分配给变量,而不是执行它们并分配其返回值。试试这个:
var newText = getText();
var newText1 = getText1();
或者只是:
var newText = document.getElementById('year').value;
var newText1 = document.getElementById('class').value;
试试
var getText = document.getElementById('year').value;
var getText1 = document.getElementById('class').value;
否则,您将只有对该函数的引用
你不是在调用函数,你只是在引用它们。
要称呼它们,您需要像 getText()
一样的 parens.但是,在这种情况下,为什么要使它们起作用呢?它们很短,不带参数。如果需要函数,请创建一个采用字符串 ID 的函数。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- JavaScript按钮/输入/函数,字符串反转
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 编辑输出字符串函数ol.control.MouseControl
- 如何在 Javascript 和 qUnit 中模拟字符串函数
- 如何在for()语句中执行字符串函数
- GulpJS:对SVG文件内容执行字符串函数
- 在干净的字符串函数之间添加空格
- 错误将导致最长重复子字符串函数
- Javascript:替换在IE7-8中不工作的字符串函数
- 如何使用拆分字符串函数的结果在Angular.js中进行排序
- 反转不工作的字符串函数
- 在Python中,你可以像在JavaScript中那样创建字符串函数的原型
- 我如何使用简单的子字符串函数在javascript标题大小写句子
- Javascript字符串函数
- 来自字符串函数的图像
- 有没有任何方法可以在不使用javascript子字符串函数或regex的情况下生成这个字符串日期表示(带时区)
- 在从CFC返回结果之前,对AJAX查询执行字符串函数
- 不能调用下划线.字符串函数' lpad '用于错误'未捕获的类型错误:_.Lpad不是一个函数