我是面向对象编程的新手。我试图将元素类作为参数传递给函数。我知道我错过了什么......见下面的代码:
var n = new Object();
n.mousePosition = function(class, y){
$(document).mousemove(function(e){
if(e.pageY < y){ $(class).slideDown(200); }
if(e.pageY > y){ $(class).slideUp(200); }
});
}
n.mousePosition('.nav', 100);
.nav
是我尝试将class
参数传递给我的函数的元素类名称,$(class).slideDown...
没有将其提取
非常感谢任何帮助,谢谢
答案 0 :(得分:2)
class是JavaScript中的保留关键字。使用不同的东西,例如而是将className作为参数名称。
答案 1 :(得分:1)
Class
是一个保留字,用其他东西作为序号以避免该问题,即...... myClass
。
此外,您不需要 在class
前加上<。将其作为参数传递时。
n.mousePosition('nav', 100);
答案 2 :(得分:0)
请注意class
是保留字:
function t(class) }
console.log(class);
}
t("test")
结果(Firefox 8.0):
SyntaxError:class是保留标识符
尝试重命名为className
(或类似)。
我给出的更多一般建议是,您可以通过在Firebug或jsfiddle中运行代码段或在其他可能暴露错误的环境中调试来轻松捕获此错误。< / p>
答案 3 :(得分:0)
Class是JavaScript中的保留字。您不能将class用作变量名。对于其他保留字,您可以访问:http://www.quackit.com/javascript/javascript_reserved_words.cfm
答案 4 :(得分:0)
class
是保留关键字使用其他内容,例如klass
var n = new Object();
n.mousePosition = function(klass, y){
$(document).mousemove(function(e){
if(e.pageY < y){ $(klass).slideDown(200); }
if(e.pageY > y){ $(klass).slideUp(200); }
});
}
n.mousePosition('.nav', 100);
中查看jsfiddle示例