1.undefined
function add(a,b){
console.log(a+b);
}
var num=add(3,5);
console.log(num);
console.log(num);输出undefined 因为函数中没有return 语句
2.值类型
function add(a,b){
return a+b;
}
var num=add(3,5);
console.log(num);
3.引用类型
下面实现一个把字符串自连接N次函数
function funca(){
return function(s,n){
var total = '';
for (var i = 1; i <= n; i++) {
total = total + s;
}
return total;
}
}
//调用函数
var fun=funca();
var t=fun('hello',3);
console.log(t);
funca返回一个匿名函数,由于函数本质为函数对象,所以返回的是对象的引用 这就是闭包(如果不这么写是什么样子?) 闭包的好处
4.void运算符
JS中函数void()的运用大体是这种新式;
void()是运算符,对任何值都返回undefined;和typeof运算符号一样可以 void(0) = void 0;
void function main(){}; 申明此函数返回的是 undefined; 没有 return 的函数默认也是返回 undefined ;所以没有写的必要,也上是为了语义化.?
所以上面链接的形式也可是: javascript:void '' , javascript:void "1" , javascript:undefined
void function add(a,b) {
console.log(a+b);
}(3,2)
上面的闭合函数和之前的完全一样,就是可读性更好