编程笔记 html5&css&js 085 JavaScript 内置函数

一、内置函数

以下是一些JavaScript中的内置函数示例:

  1. Math对象的函数

    console.log(Math.random()); // 生成0到1之间的随机数(含0不包含1)
    console.log(Math.pow(2, 3)); // 计算2的3次方:8
    console.log(Math.max(3, 5, 2)); // 返回最大值:5
    
  2. Array对象的方法

    let arr = [1, 2, 3, 4, 5];
    console.log(arr.length); // 输出数组长度:5
    console.log(arr.push(6)); // 向数组末尾添加元素并返回新长度:6
    console.log(arr.pop()); // 删除并返回数组最后一个元素:6
    console.log(arr.join('-')); // 将数组元素用指定字符连接为字符串:"1-2-3-4"
    
  3. String对象的方法

    let str = "Hello, World!";
    console.log(str.length); // 输出字符串长度:13
    console.log(str.toUpperCase()); // 将字符串转换为大写:"HELLO, WORLD!"
    console.log(str.indexOf("World")); // 查找子串位置:7
    
  4. Object对象的方法

    let obj = { name: 'Alice', age: 25 };
    console.log(Object.keys(obj)); // 获取对象的所有键名:["name", "age"]
    console.log(Object.values(obj)); // 获取对象的所有键值:["Alice", 25]
    console.log(Object.assign({}, obj, { city: 'New York' })); // 深拷贝并合并对象:{ name: 'Alice', age: 25, city: 'New York' }
    
  5. Function构造函数和函数方法

    function greet(name) {
      return "Hello, " + name;
    }
    
    console.log(greet.toString()); // 将函数转换为字符串表示形式
    console.log(Function.prototype.call.toString()); // 显示call方法的源代码
    
    let person = { firstName: 'Alice' };
    console.log(greet.call(person, person.firstName)); // 使用call方法改变this指向并调用函数:"Hello, Alice"
    

以上只是JavaScript内置函数的一部分示例,实际上还有更多其他类型的内置函数和方法可供使用,例如Date对象处理日期与时间、Number对象用于数字操作、RegExp对象进行正则表达式匹配等。
在JavaScript中,对象是一种数据结构,它将属性(键值对)和方法(可执行的函数)捆绑在一起。每个属性都有一个名称(键)和对应的值,可以是任意类型的数据。对象允许以更接近现实世界实体的方式来组织和操作数据。

二、内置对象

JavaScript提供了多种内置对象,这些对象由JavaScript语言核心提供,并且在全局作用域中可以直接使用。以下是JavaScript的一些主要内置对象:

  1. Object:所有其他对象的基类,任何对象都继承自Object,它包含一些通用的方法如toString(), valueOf(), hasOwnProperty()等。

  2. Array:用于处理数组数据结构的对象,具有排序、添加、删除元素等功能,如push(), pop(), join(), map(), reduce()等方法。

  3. String:用于字符串操作,包含查找、替换、分割等方法,如length, charAt(), concat(), indexOf(), trim()等。

  4. Number:虽然不是直接的一个构造函数对象,但包含一系列与数字相关的属性和方法,如toFixed(), toExponential(), isNaN()等。

  5. Math:提供了数学计算相关的函数,如求绝对值、平方根、随机数生成、最大值、最小值等,例如Math.random(), Math.PI, Math.pow()等。

  6. Date:处理日期和时间,能够创建、解析和格式化日期对象,如new Date(), getDate(), getFullYear(), setHours()等。

  7. Function:函数也是对象,它们可以被定义、存储和调用,每个函数都是Function类型的实例。

  8. RegExp:正则表达式对象,用于文本匹配、查找和替换模式,如/pattern/, .test(), .exec()等。

  9. Global Objects

    • Global(浏览器环境下的window对象):提供了全局作用域中的许多函数和属性。
    • JSON:用于处理JSON序列化和反序列化的对象,如JSON.parse(), JSON.stringify()
    • Error:错误对象及其子类型,如Error, TypeError, ReferenceError等,用于异常处理。

以上只是部分主要的JavaScript内置对象,实际上还有更多根据ECMAScript标准定义的内置对象以及特定于宿主环境(如浏览器或Node.js)的对象。

三、函数和方法之间的区别

在JavaScript中,函数和方法之间的区别主要在于它们的上下文和调用方式:

  1. 函数(Function)

    • 函数是可执行的代码块,它可以接受参数并可能返回一个值。
    • 函数可以独立存在,不依赖于任何特定的对象实例。
    • 在JavaScript中,函数也是对象,它们具有属性和方法,例如name属性、.call(), .apply()等方法。
    • 函数可以通过其名称直接调用,如 myFunction(arg1, arg2)
  2. 方法(Method)

    • 方法是与对象关联的函数,它作为一个属性存储在对象上,并且通常用于操作该对象或与之相关的数据。
    • 方法是由对象调用的函数,也就是说,它是一个通过.[] 运算符从对象实例调用的函数,如 myObject.myMethod(arg1, arg2)
    • 在面向对象编程(OOP)的上下文中,方法通常代表了对象的行为。

简而言之,在JavaScript中,所有的方法本质上都是函数,但当一个函数被定义为某个对象的一部分时,我们就称它为这个对象的方法。因此,关键区别在于函数是否与对象关联以及如何被调用,而不是它们本身的实现机制。

02-22 18:04