return 返回值:数字 字符串 布尔 函数 对象(元素 数组 json null) undefined
01:返回数字(number)
function fn1(){
return 100;
}
alert(fn1());
02:返回字符串(string)
function fn2(){
return 'test';
}
alert(fn2())
alert(fn2().length)
alert(typeof fn2())
03:返回函数(function)
function fn3(){
return function(){
alert("1");
}
}
alert(fn3());
alert(fn3()());
function fn1(a){
return function(b){
alert(a + b)
}
}
fn1(20)(10);
03:返回对象(object)
function fn3(){
return window;
}
alert(fn3());
fn3().onload = function(){
getId("btn1").onclick = function(){
alert("1111")
}
}
function getId(id){
return document.getElementById(id);
}
04:返回数组(array)
function fn1(n){
var arr = [];
for(var i=1;i<=n;i++){
arr.push(i);
}
return arr;
}
alert(fn1(8))
function fn2(n,m){
var arr = [];
var tmpArr= [n,m];
if(n < m){
n = tmpArr[0];
m = tmpArr[1];
}else{
m = tmpArr[0];
n = tmpArr[1];
}
for(var i=n;i<=m;i++){
arr.push(i);
}
return arr;
}
alert(fn2(2,5))
alert(fn2(6,2))
05:返回json
var t;
(function() {
t = {"id":"2"};
return t.id;
})();
alert(t.id);
function fn5(){
var obj = {"id":10,"name":"simon"}
return obj;
}
alert(fn5());
alert(fn5().id)
alert(fn5().name)
06:返回未定义(undefined)
function fn1(){
return;
}
alert(fn1());
function fn2(){
return 123;
alert("test");
}
alert(fn2());
总结
01:函数名()-->xx() = return后面的值
02:所有函数默认返回值都是未定义
03:return后面任何代码都不会执行
04:oXX.onmouseout = Test; 事件调用不能加括号,一旦加上括号,就是函数名称加括号就等于函数的返回值。如果函数里没有返回值就是undefined