JavaScript函数内if语句中的return到底是什么作用...

在学习DOM编程艺术一书

function test(){
//if(!document.getElementById("xx")) return false;if(variable == 1) return true;
}
console.log(test());

两个if语句在不同的函数里,我这里为了方便把他们写到一起
第一句话我这样理解,如果浏览器没有这个方法,(括号内部是true),就退出这个整个函数。
今天看到第二个if,为什么括号里是true时也是退出这个函数?(第176页)
同时,如果在控制台中打印test(),得到是undefine...这个true到底被return到哪里了...
如果没有if,直接在函数中return,是能得到return的值的...
我是弟弟,我是弟弟,还请各位大佬不吝赐教...


桃花长相依
浏览 5005回答 2
2回答

慕运维8079593

函数必有返回值,显性的返回或隐性的返回。直接写return,显性返回,只要运行到该语句必然退出函数。不写return,运行到函数体最后一句便返回,一般等价于在函数体末尾加一句return;(当然这说法并不绝对,因为部分高阶函数在函数体只有一条语句或表达式时,可省略了显性的return,直接返回函数体结果;另外promise返回的是promise)js是弱类型语言,函数也没有类型之分,并不规定其函数是空类型函数、布尔类型函数,亦或是指针函数等等,所以函数运行后得到结果要么是return的返回,要么是特殊类型的返回,或者undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript