首页 > 专栏 > 前端 > 文章详情
使用 arguments 进行数组分割 发布于:2021-03-06 17:16:35   原创发表   查看:5  讨论:0
function myConcat(separator){HEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(arguments);HEF易塔云建站-模板下载,web开发资源,技术博客
    var arrays = Array.prototype.slice.call(arguments,1);HEF易塔云建站-模板下载,web开发资源,技术博客
    return arrays.join(separator);HEF易塔云建站-模板下载,web开发资源,技术博客
};HEF易塔云建站-模板下载,web开发资源,技术博客
var arr = myConcat(', ', 'red', 'orange', 'blue');HEF易塔云建站-模板下载,web开发资源,技术博客
console.log(arr);// you can also user other separator to slice this arguments conver to a new arrays.
HEF易塔云建站-模板下载,web开发资源,技术博客
下面介绍其他arguments用法,关于语句:
Array.prototype.slice.call(arguments,1);
HEF易塔云建站-模板下载,web开发资源,技术博客
以后会介绍更多call和apply的用法,目前了解不太透彻。HEF易塔云建站-模板下载,web开发资源,技术博客
□:使用arguments返回一个li列表:HEF易塔云建站-模板下载,web开发资源,技术博客
 
function list(type){HEF易塔云建站-模板下载,web开发资源,技术博客
    var html = '<' + type + 'l><li>';HEF易塔云建站-模板下载,web开发资源,技术博客
    var args = Array.prototype.slice.call(arguments,1);HEF易塔云建站-模板下载,web开发资源,技术博客
    html += args.join('</li><li>');HEF易塔云建站-模板下载,web开发资源,技术博客
    html += '</li></' + type + 'l>';//end listHEF易塔云建站-模板下载,web开发资源,技术博客
    return html;HEF易塔云建站-模板下载,web开发资源,技术博客
};HEF易塔云建站-模板下载,web开发资源,技术博客
var listHTML = list('u', 'One', 'Two', 'Three');HEF易塔云建站-模板下载,web开发资源,技术博客
console.log(listHTML);HEF易塔云建站-模板下载,web开发资源,技术博客
/* listHTML is:HEF易塔云建站-模板下载,web开发资源,技术博客
// "<ul><li>One</li><li>Two</li><li>Three</li></ul>"HEF易塔云建站-模板下载,web开发资源,技术博客
// */
HEF易塔云建站-模板下载,web开发资源,技术博客
□:使用ES2015的...语法:HEF易塔云建站-模板下载,web开发资源,技术博客
 
function foo(...args){HEF易塔云建站-模板下载,web开发资源,技术博客
    return args;HEF易塔云建站-模板下载,web开发资源,技术博客
}HEF易塔云建站-模板下载,web开发资源,技术博客
var arr = foo(1,2,3);HEF易塔云建站-模板下载,web开发资源,技术博客
console.log(arr);// [1,2,3]
HEF易塔云建站-模板下载,web开发资源,技术博客
□:如何update arguments[i]:HEF易塔云建站-模板下载,web开发资源,技术博客
 
function func(a){HEF易塔云建站-模板下载,web开发资源,技术博客
    arguments[0] = 99;//updating arguments[0] also update aHEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(a);HEF易塔云建站-模板下载,web开发资源,技术博客
};HEF易塔云建站-模板下载,web开发资源,技术博客
func(10);//99HEF易塔云建站-模板下载,web开发资源,技术博客
function func(a){HEF易塔云建站-模板下载,web开发资源,技术博客
    a = 99; // updating a also updates arguments[0]HEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(arguments[0]);HEF易塔云建站-模板下载,web开发资源,技术博客
}HEF易塔云建站-模板下载,web开发资源,技术博客
func(10);//99HEF易塔云建站-模板下载,web开发资源,技术博客
function func(a=55){HEF易塔云建站-模板下载,web开发资源,技术博客
    arguments[0] = 99; //updating arguments[0] does not also update aHEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(a);HEF易塔云建站-模板下载,web开发资源,技术博客
}HEF易塔云建站-模板下载,web开发资源,技术博客
func(10);//10HEF易塔云建站-模板下载,web开发资源,技术博客
function func(a = 55){HEF易塔云建站-模板下载,web开发资源,技术博客
    a = 99;//updating a does not also update arguments[0]HEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(arguments[0]);HEF易塔云建站-模板下载,web开发资源,技术博客
}HEF易塔云建站-模板下载,web开发资源,技术博客
func(10);//10HEF易塔云建站-模板下载,web开发资源,技术博客
An untracked default parameterHEF易塔云建站-模板下载,web开发资源,技术博客
function func(a=55){HEF易塔云建站-模板下载,web开发资源,技术博客
    console.log(arguments[0]);HEF易塔云建站-模板下载,web开发资源,技术博客
}HEF易塔云建站-模板下载,web开发资源,技术博客
func();// undefined

评论

  • 匿名