JavaScript函数、构造函数中的对象、内置对象的关系

目录

JavaScript函数

概念

参数

函数返回值return

函数的两种声明方式

构造函数

概念

对象

内置对象

构造函数概念

总结


 做好准备!赶紧上车!

Let's go!

JavaScript函数

概念

函数

封装了一段可被重复调用执行的代码块,通过此代码块可以实现大量代码的重复使用

函数内部是由参数函数返回值return所组成。

参数

参数语法:形参和实参。

  • 形参:函数定义时设置接收调用时传入

  • 实参:函数调用时传入小括号内的真实数据

函数返回值return

函数的返回值return是返回给函数的调用者

函数的两种声明方式

  • 自定义函数方式(命名函数)
// 声明定义方式
function fn() {...}
// 调用  
fn();  
  • 函数表达式方式(匿名函数)
// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function(){...};
// 调用的方式,函数调用必须写到函数体下面
fn();

【例题】写一个函数,求1-100之和。

   //求和1-100函数
    <script>
        function getSum() {
            var sum = 0;
            for (var i = 1; i <= 100; i++) {
                sum += i;
            }
            console.log(sum);
        }
        // 上面的内容要写完整,调用函数-使用函数-输出的结果
        // 下面就直接调用函数
        getSum();
    </script>

构造函数

概念

构造函数:是一种特殊的函数,把对象封装到函数中。利用函数方法重复相同代码,把对象里面抽象出来封装到一起。

对象

对象是一个具体的事物 ;对象是由属性方法组成的。

创建对象的方法:

  • var 字面量创建对象={ }
var obj = {
                uname: 'Z3',
                age: 90,
                sex: '男',
                sayHi: function() {
                    console.log('hi~');
                }
            }
            // 调用函数
        console.log(obj.uname);
        console.log(obj['age']);
  • new Object创建对象
var obj = new Object(); //类似于创建数组 创建一个空的对象
        obj.unmae = "潘诗颖";
        obj.age = 18;
        obj.sex = '女';
        obj.sayHi = function() {
            console.log('Hi~');
        }
        obj.eat = function() {
            console.log("chifanfangfa");
        }

        // 注意区分用 字面量创建对象的语法:
        // 1)我们用 = 等号赋值的方法 添加对象的属性和方法
        // 2)每个属性和方法之间用; 分号结束

        // 下面调用属性和方法:
        console.log(obj.unmae);
        console.log(obj.age);
        obj.sayHi();
        obj.eat();
  • 用构造函数创建对象

对象封装到函数中,利用函数方法重复相同代码把对象里面抽象出来封装到一起就是构造函数(简单来说,构造函数里面封装的就是抽象的东西!用来初始化对象)。

// 1.构造函数  明星 泛指的某一大类
        function Star(uname, age, sex) {
            this.uname = uname;
            this.age = age;
            this.sex = sex;
            this.sing = function(sang) {
                console.log(sang);
            }
        }
// 2.对象 是一个具体的事物 孙千具体的明星
        var sq = new Star('孙千', 18, '女');
        // 我们需要用 new Star()调用函数 创建一个对象
        console.log(sq.uname);
        // 另一种表达式
        console.log(sq['sex']);
        // 调用函数中的方法:
        sq.sing('none');
// 3.可以调用多个对象
        var zyt = new Star('周雨彤', 20, '女');
        console.log(zyt.uname);

内置对象

内置对象帮我们快速开发。JS里面自带的一些对象,比如:Math、Date、Array、String等。

 由于内置对象的内容较多,具体更多内置对象可以在在自己需要的时候去该网站查询:

MDN Web Docs

  • Math对象

Math数学对象不是一个构造函数,所以我们不需要new来调用可直接使用

// Math数学对象不是一个构造函数 所以我们不需要new来调用 可直接使用里面的属性和方法
        console.log(Math.PI);
        console.log(Math.max(1, 99, 33, 2)); //99
        console.log(Math.max(1, 99, 'pink')); //非数值就会输出NaN
        console.log(Math.max()); //-Infinity
  • Date日期对象

Date日期对象是一个构造函数,所以需要new出来

 // 日期对象是一个构造函数 必须使用new来调用创建我们的日期对象
        var arr = new Array(); //创建一个数组对象
        var obj = new Object(); //创建一个对象实例
 //1. 使用对象Date⭐
        var date = new Date(); //如果没有给具体时间就是返回当前的时间
        console.log(date);
  • 数组对象

需要创建一个数组有两种方法:数组字面量、new对象

 // 创建数组的两种方式
 // 1.利用数组字面量
        var arr = [1, 2, 3];
        console.log(arr[0]); //数组里的第一个元素
 // 2.利用new Array()
        //var arr1 = new Array();  创建一个空的数组
        // var arr1 = new Array(2);  这个2表示 数组的长度为2 里面有2个空的数组元素

        var arr1 = new Array(2, 3); //等价于【2,3】这样写表示里面有2个数组元素时2和3
        console.log(arr1);
  • 字符串对象

可以直接使用,不需要new对象

// 1.charAt(index)根据位置返回字符
        var str = 'andy';
        console.log(str.charAt(3)); //y
        // 遍历所有字符 循环
        for (var i = 0; i < str.length; i++) {
            console.log(str.charAt(i)); //把字符串遍历了一遍
        }

// 2.charCodeAt(index) 返回相应索引号的字符ASCII值 目的:判断用户按下了哪个键
        console.log(str.charCodeAt(0)); //输出的是97 想看a的值

// 3.str[index] H5新增的
        console.log(str[0]); //a

构造函数概念

构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性方法抽取出来,然后封装到这个函数里面。

注意点:

  • 构造函数名的首字母要大写
  • 函数内的属性和方法前面需要添加this,表示当前对象的属性和方法
  • 构造函数中不需要return
  • 调用构造函数必须使用new

总结

大致总结了JavaScript的函数相关内容,从我本人的角度来进行整理总结的。有些用词并不专业因为我希望能够用最简洁的语言来表示出来让大家都能理解。把这些概念性的内容搞懂了,就能往下学习后面的内容呀!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>