首页 > 专栏 > 前端 > 文章详情
js 中的 arguments 对象 发布于:2021-03-05 22:53:21   原创发表   查看:3  讨论:0
//读Eyz易塔云建站-模板下载,web开发资源,技术博客
function myFunc(a,b){Eyz易塔云建站-模板下载,web开发资源,技术博客
    var sum = arguments[0] + arguments[1];Eyz易塔云建站-模板下载,web开发资源,技术博客
    console.log(sum);Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
myFunc(1,2)Eyz易塔云建站-模板下载,web开发资源,技术博客
//写Eyz易塔云建站-模板下载,web开发资源,技术博客
function myFunc(a,b){Eyz易塔云建站-模板下载,web开发资源,技术博客
    arguments[0] = "reddd";Eyz易塔云建站-模板下载,web开发资源,技术博客
    console.log(a);Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
myFunc(1,2)
但是可以通过arguments创建真数组:
function abc(){Eyz易塔云建站-模板下载,web开发资源,技术博客
    var args = Array.prototype.slice.call(arguments);Eyz易塔云建站-模板下载,web开发资源,技术博客
    console.log(args);Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
abc(1,2,3,4)
在ES2015中可以这样写:
function abc(){Eyz易塔云建站-模板下载,web开发资源,技术博客
    // var args = Array.from(arguments);Eyz易塔云建站-模板下载,web开发资源,技术博客
    let args = [...arguments];Eyz易塔云建站-模板下载,web开发资源,技术博客
    console.log(args);Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
abc(1,2,3,4)
Eyz易塔云建站-模板下载,web开发资源,技术博客
利用arguments制作一个返回数组中长度最长元素字符串的函数:
function longestString(arg0,arg1){Eyz易塔云建站-模板下载,web开发资源,技术博客
    var longest = '';Eyz易塔云建站-模板下载,web开发资源,技术博客
    for(var i=0; i<arguments.length; i++){Eyz易塔云建站-模板下载,web开发资源,技术博客
        if(arguments[i].length > longest.length){Eyz易塔云建站-模板下载,web开发资源,技术博客
            longest = arguments[i];Eyz易塔云建站-模板下载,web开发资源,技术博客
        }Eyz易塔云建站-模板下载,web开发资源,技术博客
    }Eyz易塔云建站-模板下载,web开发资源,技术博客
    return longest;Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
var longestInstance = longestString("a","ab","abc");Eyz易塔云建站-模板下载,web开发资源,技术博客
console.log(longestInstance);
Eyz易塔云建站-模板下载,web开发资源,技术博客
利用arguments求解数组最大值:Eyz易塔云建站-模板下载,web开发资源,技术博客
 
function maxString(){Eyz易塔云建站-模板下载,web开发资源,技术博客
    // console.log(arguments);Eyz易塔云建站-模板下载,web开发资源,技术博客
    // console.log(arguments.length);Eyz易塔云建站-模板下载,web开发资源,技术博客
    var maxStr = '';Eyz易塔云建站-模板下载,web开发资源,技术博客
    for(var i=0; i<arguments.length - 1; i++){Eyz易塔云建站-模板下载,web开发资源,技术博客
        if(arguments[i+1] > arguments[i]){Eyz易塔云建站-模板下载,web开发资源,技术博客
            maxStr = arguments[i+1]Eyz易塔云建站-模板下载,web开发资源,技术博客
        }Eyz易塔云建站-模板下载,web开发资源,技术博客
    }Eyz易塔云建站-模板下载,web开发资源,技术博客
    return maxStr;Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
var max = maxString(2,33,444);Eyz易塔云建站-模板下载,web开发资源,技术博客
console.log(max);
Eyz易塔云建站-模板下载,web开发资源,技术博客
使用for of方法,求解最大值:Eyz易塔云建站-模板下载,web开发资源,技术博客
 
function maxString(){Eyz易塔云建站-模板下载,web开发资源,技术博客
    // console.log(arguments);Eyz易塔云建站-模板下载,web开发资源,技术博客
    var maxStr = arguments[0];Eyz易塔云建站-模板下载,web开发资源,技术博客
    for(val of arguments){Eyz易塔云建站-模板下载,web开发资源,技术博客
        if( val >= maxStr){Eyz易塔云建站-模板下载,web开发资源,技术博客
            maxStr = val;Eyz易塔云建站-模板下载,web开发资源,技术博客
        }Eyz易塔云建站-模板下载,web开发资源,技术博客
        console.log(val);//2/33/444/234/2234234Eyz易塔云建站-模板下载,web开发资源,技术博客
    }Eyz易塔云建站-模板下载,web开发资源,技术博客
    return maxStr;Eyz易塔云建站-模板下载,web开发资源,技术博客
}Eyz易塔云建站-模板下载,web开发资源,技术博客
var max = maxString(2,33,444,234,234234);Eyz易塔云建站-模板下载,web开发资源,技术博客
console.log(max);

评论

  • 匿名