JavaScript 基础五 函数的内置形参arguments ; 函数的两种声明;作用域链;预解析;创建对象的三个方式;构造函数;for in 遍历对象

本文介绍了JavaScript中的arguments对象,函数的两种声明方式,作用域链的概念,预解析机制以及创建对象的三种方法,包括字面量、new Object和构造函数。此外,还讲解了for...in遍历对象属性的应用。
摘要由CSDN通过智能技术生成

1.0 arguments 函数内置的形参

当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。
在 JavaScript 中,arguments 实际上它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。

arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:

  1. 具有 length 属性
  2. 按索引方式储存数据
  3. 不具有数组的 push , pop 等方法
        arguments 的使用   只有函数才有 arguments对象, 而且是每个函数都内置好了这个 arguments
        function fn() {
   
            console.log(arguments); // 里面储存了所有传递过来的实参  arguments = [1,2,3]
            console.log(arguments.length); // 具有数组的 length 属性
            console.log(arguments[2]);
            // 我们可以按照数组的方式遍历 arguments
            for (var i = 0; i < arguments.length; i++) {
   
                console.log(arguments[i]);
            }
        }
        fn(1, 2, 3);
        fn(1, 2, 3, 4, 5, 6);
        // 他是一个伪数组   并不是真正意义上的数组
        // 1. 具有数组的 length 属性
        // 2. 按照索引的方式进行存储
        // 3. 它没有真正数组的一些方法 pop()  push() 等。

2.0 函数案例

		1. 利用函数求任意个数的最大值  
        function getSum() {
   
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
   
                if (max < arguments[i]) {
   
                    max = arguments[i]
                }
            }
            return max;
        }
        console.log(getSum(1, 34, 24, 241, 421));

		2. 利用函数翻转任意数组    reverse 翻转
		function reverse(arr) {
   
            var newArr = [];
            for (var i = arr.length - 1; i >= 0; i--) {
   
                newArr[newArr.length] = arr[i]
            }
            return newArr;
        }
        var re1 = reverse([4, 2, 8, 1, 4, 3]);
        console.log(re1);
        
		3. 利用函数封装对象,对数组排序(冒泡方法)   sort 排序
		        function sort(arr) {
   
            for (var i = 0; i < arr.length - 1; i++) {
   
                for (var j = 0; j < arr.length - i - 1; j++) {
   
                    if (arr[j] > arr[j + 1]) {
   
                        var temp = arr[j];
                        arr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值