我的应用程序的js文件包含此位:
var drawer = document.getElementById('b_001');
drawer.isOpen = function() {
this.classList.contains('open');
};
当我在控制台drawer.isOpen()
中调用它时,我希望得到一个布尔值,true
或false
。但是,会返回undefined
。这是为什么?
答案 0 :(得分:3)
你需要一份退货声明
return this.classList.contains('open');
答案 1 :(得分:2)
你必须返回:
drawer.isOpen = function() {
return this.classList.contains('open');
//^ here
};
如果某个函数没有返回任何内容,则返回值将被视为undefined
,如此代码段所示:
var report = document.querySelector('#result');
report.innerHTML += doStuff(5); // nothing returned
report.innerHTML += '<br>'+addFive(5); // a result is returned
function doStuff(val) {
val = val || 0;
val += 5;
}
function addFive(val) {
val = val || 0;
val += 5;
return val;
}
<div id="result"></div>