最全的JavaScript语法基础——函数,对象,常用类Array,String,Math和Date

一、JavaScript函数

1、函数的定义和调用

 JavaScript函数可以通过以下两种方式进行定义:

1. 函数声明方式:

function functionName(parameter1, parameter2) {
  // 函数体
  // 执行的代码
  return result; // 返回结果
}
 

在上面的代码中,functionName 是函数的名称,parameter1 和 parameter2 是函数的参数(可选)。函数体是一组在函数被调用时执行的语句。return 关键字可用于返回函数执行的结果(可选)

2. 函数表达式方式:

var functionName = function(parameter1, parameter2) {
  // 函数体
  // 执行的代码
  return result; // 返回结果
};
 

在上面的代码中,functionName 是函数的名称(可选),parameter1 和 parameter2 是函数的参数(可选)。函数体是一组在函数被调用时执行的语句。return 关键字可用于返回函数执行的结果(可选)

调用函数时,只需要使用函数名称后面跟上参数即可:

var result = functionName(arg1, arg2);
 

 例如,下面是计算两数相加和的函数:

        function calculator(a, b)
        {
            c = a+b;
            alert("a+b=" + c); 
            return c;        
        }

 1. 在JS程序中被调用 (包括有返回值和无返回值的调用)

console.log(calculator(1, 1),"a+b=" + c)

运行结果: 

366c41c60b1a458ba6873e95bf5665fe.png74bf91c79ea44a0d9a9e749aafc054af.png

2. 在按钮或超链接被点击时调用(监听点击事件) 

2.1 监听按钮点击

 <input type="submit" value="计算a+b的和" onclick="calculator(1,2)" >

 运行结果(点击按钮时跳出弹窗): 

d5c282a8e0834e5695d56b3ce983430c.png

 2.2 监听超链接点击

    <a href="#" onclick="calculator(3,4)">百度一下,你就知道</a>

 运行结果(点击链接时跳出弹窗):  

eecdbd6710e0477baca645d7dde552f1.png

2、函数的局部变量和全局变量

全局变量是既可以作用于所有函数内,又可以作用于函数外

局部变量是在函数内部声明的变量,只能在函数内部使用,无法在函数外部访问。可以使用 varlet 或 const 关键字声明局部变量

在JavaScript中,函数内部可以定义局部变量访问全局变量

下面通过例子了解全局变量和局部变量,例如:

    <script>

        var c=1;  //全局变量,既可以作用于所有函数内,又可以作用于函数外

        function calculator1(a,b)
        {   
            var d=2;     //局部变量,只作用与函数内
            return (a+b+c)*d;  //返回6
        }

        rlt1 = calculator1(1,1)
        console.log("计算结果为:" + rlt1)

        rlt2 = (1+1+c)*d      //函数外无法调用局部变量d,控制台报错 
        console.log("计算结果为:" + rlt2)

 
    </script>

二、JavaScript对象

 1、对象的定义和使用

 在 JavaScript 中,对象是一种复合数据类型,用于存储键值对。对象可以用于表示实际世界中的事物,具有属性和方法。

1.直接手动定义一个对象(而不是通过类实例化)

        var person = {
            firstName:"毛",
            lastName:"主席",
            age:83,
            eyeColor:"黑色",
            getName: function(){
                // 注意this对象的使用(指向自身)
                // 没有this,直接用属性名控制台会报错
                allName = this.firstName + this.lastName;
                return allName;
            },
            cal: function(a,b){
                return a+b;
            }
        };

2.使用定义好的对象的属性和方法

        console.log(person.eyeColor)  //使用对象的属性
        console.log(person.getName()) //使用对象的方法
        console.log(person.cal(1,2))  //使用对象的方法

运行结果: 

aa6e93d6704443d8ba76d7b5be92865e.png

三、JavaScript常用类

 

JavaScript中常用的类有以下几种:

  • Array:用于创建数组对象。
  • String:用于创建字符串对象。
  • Date:用于创建日期对象。
  • Math:用于进行数学运算的对象。

1、Array

 Array(数组)是JavaScript中最常用的内置对象之一。它用于存储和操作一组有序的数据

1. 定义数组:可以使用数组字面量([])或Array构造函数来定义数组。

// 使用数组字面量
let arr1 = [1, 2, 3, 4, 5];

// 使用Array构造函数
let arr2 = new Array(1, 2, 3, 4, 5);
 

2. 访问数组元素:可以使用索引来访问数组元素,索引从0开始。

let arr = [1, 2, 3, 4, 5];
console.log(arr[0]); // 1
console.log(arr[2]); // 3
 

3. 修改数组元素:可以通过赋值操作来修改数组元素。

let arr = [1, 2, 3, 4, 5];
arr[0] = 10;
console.log(arr); // [10, 2, 3, 4, 5]
 

常用数组方法:

 1. length 属性返回数组的元素个数(数组长度)

        var persons=new Array("毛泽东","邓小平","江泽民");
        console.log(persons.length);    // 3

 2. push 方法用于在数组末端添加一个或多个元素,并返回添加新元素后的数组长度。注意:该方法会改变原数组!

        var persons=new Array("毛泽东","邓小平","江泽民");
        len = persons.push("胡锦涛");
        console.log('新数组为:' + persons +'->长度为:' + len); 

32260cdb7dd14faa947613899c7ac328.png

3. pop 方法用于删除数组最后一个元素,并返回被删除的那个元素。注意:该方法会改变原数组!

        var persons=new Array("毛泽东","邓小平","江泽民");
        p = persons.pop("邓小平");   //只会删除数组最后一个元素,而不会删除"邓小平"
        console.log('新数组为:' + persons +'->被移除的元素为: ' + p);

820e4487d29f4d88add1df8b15368c21.png

4. reverse方法用于颠倒排列数组元素,返回改变后的数组。注意:该方法会改变原数组!

        var persons=new Array("毛泽东","邓小平","江泽民");
        p = persons.reverse();
        console.log(p); 

460d378cb1a8447ab24074e89e81f475.png

 5. indexOf 方法返回给定元素在数组中第一次出现的位置,若未出现返回-1

        var persons = new Array("毛泽东","邓小平","江泽民");
        console.log(persons.indexOf("邓小平"));  //1
        console.log(persons.indexOf("胡锦涛"));  //-1  

c65167aad48a4425a1d2da71992a11ce.png

2、String

 字符串方法:

1. length 属性返回字符串的长度

        var s = 'hello';
        console.log(s.length) // 5

 2. charAt 方法返回指定位置的字符

        var s = new String('hello'); 
        console.log(s.charAt(1));            // "e"
        console.log(s.charAt(s.length - 1)); // "o"
        console.log(s.charAt(10));           // ""  索引超出返回空字符串

17d753b11a80461fbb50c557cec37b89.png

3. concat 方法用于顺序连接多个字符串,返回一个新字符串(不改变原字符串) 

        var s1 = new String('hello'); 
        var s2 = new String(' world'); 
        console.log(s1.concat(s2));          // "hello world"
        console.log(s1.concat(s2, ' hi', ' beijing')); // "hello world hi beijing"

93c7e982eb354a6995fe7ea91ea5f611.png

4. indexOf 方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1表示不匹配。

        var s = new String('hello world'); 
        console.log(s.indexOf("world"));  //6
        console.log(s.indexOf("hi"));     //-1

5e41751b4b4c421fabb772fcc504fe69.png

 5. split 方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组

        var s = new String('hello world hi beijing'); 
        console.log(s.split(' ')); // 按照空格分割 ['hello', 'world', 'hi', 'beijing']

e56a23a6f79d49f78004cc16a21cf2dc.png

3、Math

 Math(数学)是JavaScript中的一个内置对象,提供了很多数学相关的方法和属性。

1. abs方法返回参数值的绝对值

        console.log(Math.abs(1)) // 1
        console.log(Math.abs(-1)) // 1

 2. maxmin方法返回参数值的最大值和最小值

        console.log(Math.max(1,2,3)) // 3
        console.log(Math.min(1,2,3)) // 1

 3. floor 和 ceil对参数向下取整和向上取整

        console.log(Math.floor(3.3)) // 3
        console.log(Math.floor(-3.3)) // -4
        console.log(Math.ceil(3.3)) // 4
        console.log(Math.ceil(-3.3)) // -3

 4. random返回[0,1)之间的一个伪随机数

        for (var index = 1; index <=5; index++)
        {
            console.log(Math.random())
        }
        // 随机输出任意范围的某个数(直接当成固定函数使用)
        function getRandomInRange(min, max) 
        {  
            return Math.random() * (max - min) + min;  
        }  
        console.log(getRandomInRange(1, 20)); //随机输出1到20的某个数

 5. 保留小数点指定位数(直接当成固定函数使用)

        function truncateDecimalPlaces(num, decimalPlaces) 
        {  
            let factor = Math.pow(10, decimalPlaces);  
            return Math.floor(num * factor) / factor;  
        }  
        console.log(truncateDecimalPlaces(3.14159, 2)); // 输出 3.14

4、Date

 Date(日期)是JavaScript中的一个内置对象,用于处理日期和时间。

例如:

        // 基于Date类,创建一个对象示例,表示当前日期和时间  
        const now = new Date();       
        // 获取年份(四位数的年份,比如2024)  
        const year = now.getFullYear();    
        // 获取月份(从0开始,所以0表示1月,11表示12月,需要加1才能得到实际月份)  
        const month = now.getMonth() + 1;      
        // 获取日期(月份中的哪一天)  
        const day = now.getDate();  
        // 获取小时(24小时制)  
        const hours = now.getHours();     
        // 获取分钟  
        const minutes = now.getMinutes();     
        // 获取秒  
        const seconds = now.getSeconds(); 
        // 输出当前未格式化的日期和时间 
        console.log(`当前日期和间:${year}-${month}-${day}${hours}:${minutes}:${seconds}`);

运行结果:

83f779b2d37c464a839914a627820571.png

格式化日期和时间字符串 

如果month小于10,它会在month前面插入一个'0',否则插入一个空字符串''。

这样做的目的是确保月份始终是两位数(例如,1月变为01)。

同理,${day < 10 ? '0' : ''}${day}确保日期也是两位数。

        const formattedDate = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;  
        const formattedTime = `${hours < 10 ? '0' : ''}${hours}:${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;      
        // 输出当前格式化后的日期和时间  
        console.log(`当前日期和时间: ${formattedDate} ${formattedTime}`);

运行结果:

20cb886c19174f4886f8d47ede37f8d9.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值