枯燥的js函数

alert与console.log 差不多 只是会有弹出框

1.命名函数表达式
var test = function abc(){};
2.匿名函数表达式(常用的)–函数表达式。
var demo = function(){};

例子:
function test(a,b){}
a ,b 前面不需要加var。
test(1,2,3);(传入的实参可以与形参不同个数)
function test(a,b){
//arguments --[1,2,3]-实参列表,相当于一个数组。
//test.length 形参个数. arguments.length实参个数
};
!!!arguments数组和形参会一起变但不是同一个变量。
此函数中修改arguments[0] 与 a一起变化但不是同一个变量。

var str = ‘123’;
**str.charAt(0)**就为字符串的第一位。
str[0]也行,但不规范。
逆转str只需要定义一个空的字符串
var demo = " ";
再利用循环逆向相加。
demo += str[ i];

**

立即执行函数

**
(function (形参1,形参2,形参3){代码;
return ;}(实参1,实参2,实参3))
执行完就被释放,其余和函数一样。

-function (){
    
    
            console.log('a');
        }();

在函数之前加- + ! 都可以执行。

var f=(
            function f( ) {
    
    
                return "1";
            },
            function g( ) {
    
    
                return 2;
            }
        )();
        console.log(typeof(f));

最后那个函数执行,所以打印number。

arguments

arguments.callee

var num = (function(n){
    
    
	if(n==1){
    
    
	return 1;
	}
	return n * arguments.callee(n-1);
}(100))

立即执行函数没有名字,当使用其进行阶乘运算时,可用arguments.callee代替其名字(arguments.callee就等于此函数)。

func.caller

function test(){
    
    
	demo();
}
function demo(){
    
    
	console.log(demo.caller);
}
test();

caller返回调用当前函数的函数。如果当前函数不是在函数内被调用,而是在JavaScript顶层作用域被调用,则返回null。

扫描二维码关注公众号,回复: 12729756 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_51664705/article/details/113617826