1.arguments

2018-06-12  本文已影响0人  若愚同学
概念:

1,不管函数是否申明了形参,在函数内部都可以直接使用arguments对象来直接引用当前调用函数传入的实参;

2,arguments只能在当前调用的函数内部使用;

3,arguments不是一个数组,是一个伪数组对象,类似jQuery对象,可以通过下标访问对象,并且有length属性;

java中判断对象类型:
obj.getClass();
obj instanceof Type
在js中分两种对象
1.基本类型/原生类型/简单类型(通过字面量赋值)
2.引用类型(通过new创建的)
结论:
instanceof只能判断引用类型,如果判断的是基本类型,结果都为false.
typeof 一般用来判断基本类型,如果传入的是引用类型,结果都为object
证明arguments不是数组:
console.log(arguments instanceof Array);
console.log(typeof arguments);
示例代码:
<script>
    window.onload = function () {
        console.log("加载完成");

        show(1,2,3)
    };


    function show() {
        console.log(arguments);

        for(var i = 0;i<arguments.length;i++){
            console.log(arguments[i]);
        }

        /*var a = "111";
        console.log(typeof a);
        console.log(a instanceof String);*/

        /*
            注意,instanceof只针对对象有效,如果是原生类型,
            使用instanceof无效;原生类型只能通过typeof来判断;
        */
        /*console.log(typeof arguments == 'object');//typeof比较基本数据类型
        console.log(arguments instanceof Array);//instanceof比较引用数据类型*/
    }

</script>
上一篇下一篇

猜你喜欢

热点阅读