JavaScript引用类型

1、Object 类型

Object 也是ECMAScript 中使用最多的一个类型

2、Array 类型

  • 检测数组 if (value instanceof Array) { }
  • 转换方法,所有对象都具有toLocaleString()、toString()和valueOf()方法
  • 栈方法  push()和pop()  shift()和push()  unshift()和pop()
  • 重排序方法 reverse()和sort()
  • 操作方法 concat()  slice()  splice()
  • 位置方法 indexOf()和lastIndexOf()
  • 迭代方法 every()  filter()  forEach()  map()  some()
  • 归并方法 reduce()和reduceRight()

3、Date 类型

var now = new Date();

  • 根据特定的日期和时间创建日期对象  Date.parse()和Date.UTC()。
  • 继承的方法 toLocaleString()、toString()和valueOf()
  • 日期格式化方法 toDateString()  toTimeString()  toLocaleDateString()  toLocaleTimeString()  toUTCString()
  • 日期/时间组件方法 getTime() .............getMilliseconds().......

4、RegExp 类型

ECMAScript 通过RegExp 类型来支持正则表达式。

var expression = / pattern / flags ;

  • g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即
    停止;
  • i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;
  • m:表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模
    式匹配的项。

RegExp实例属性

  • global:布尔值,表示是否设置了g 标志。
  • ignoreCase:布尔值,表示是否设置了i 标志。
  • lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0 算起。
  • multiline:布尔值,表示是否设置了m 标志。
  • source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

RegExp实例方法

  • exec()

5、Function 类型

每个函数都是Function 类型的实例,而且都与其他引用类型一样具有属性和方法

在函数内部,有两个特殊的对象:arguments 和this。

由于在调用函数之前,this 的值并不确定,因此this 可能会在代码执行过程中引用不同的对象。当在全局作用域中调用时,this 引用的是全局对象window;

每个函数都包含两个属性:length 和prototype。

6、基本包装类型

为了便于操作基本类型值,ECMAScript 还提供了3 个特殊的引用类型:Boolean、Number 和
String。

除了继承的方法之外,Number 类型还提供了一些用于将数值格式化为字符串的方法。
其中,toFixed()方法会按照指定的小数位返回数值的字符串表示,例如:
var num = 10;
alert(num.toFixed(2)); //"10.00"

另外可用于格式化数值的方法是toExponential(),该方法返回以指数表示法(也称e 表示法)
表示的数值的字符串形式

两个用于访问字符串中特定字符的方法是:charAt()和charCodeAt();

字符串操作方法:concat()  slice()、substr()和substring()  indexOf()和lastIndexOf()   trim()  

toLowerCase()、toLocaleLowerCase()、toUpperCase()和toLocaleUpperCase()

match()  search()  replace()  split()  localeCompare()   fromCharCode()  

alert(String.fromCharCode(104, 101, 108, 108, 111)); //"hello"

7、单体内置对象

ECMA-262 对内置对象的定义是:“由ECMAScript 实现提供的、不依赖于宿主环境的对象

Global对象

Global(全局)对象可以说是ECMAScript 中最特别的一个对象了,因为不管你从什么角度上看,
这个对象都是不存在的。ECMAScript 中的Global 对象在某种意义上是作为一个终极的“兜底儿对象”
来定义的。换句话说,不属于任何其他对象的属性和方法,最终都是它的属性和方法。事实上,没有全
局变量或全局函数;所有在全局作用域中定义的属性和函数,都是Global 对象的属性。本书前面介绍
过的那些函数,诸如isNaN()、isFinite()、parseInt()以及parseFloat(),实际上全都是Global
对象的方法。除此之外,Global 对象还包含其他一些方法。

1. URI 编码方法
Global 对象的encodeURI()和encodeURIComponent()方法可以对URI(Uniform Resource
Identifiers,通用资源标识符)进行编码,以便发送给浏览器

2. eval()方法

Math对象

min()和max()方法  Math.ceil()、Math.floor()和Math.round()

Math 对象中还包含其他一些与完成各种简单或复杂计算有关的方法

 

### JavaScript 引用类型概述 在 JavaScript 中,引用类型主要包括对象(`Object`)、数组(`Array`)以及函数(`Function`),这些数据结构允许开发者创建更复杂的程序逻辑并管理大量数据。 #### 对象 (Object) 对象是一种键值对集合,其中每个键都是字符串或 Symbol 类型,而对应的值可以是任何有效的 JavaScript 值。这使得对象非常适合用来表示具有多个属性的事物。例如: ```javascript const person = { name: 'Alice', age: 25, isStudent: false }; ``` 通过这种方式定义的对象 `person` 可以方便地访问其各个字段,如 `person.name`, `person.age` 等[^1]。 #### 数组 (Array) 尽管数组看起来像是简单列表形式的数据容器,但实际上它也是一种特殊的对象,在内部实现了许多有用的方法来操作序列化数据集。值得注意的是,虽然理论上可以在同一个数组内混合不同类型的数据项,但从代码清晰度和性能角度考虑,最好保持一致性[^3]。 下面是一个包含多种数值类型的数组实例: ```javascript let mixedDataTypes = ['string', 42, true]; console.log(mixedDataTypes); // 输出 ["string", 42, true] ``` 此外,由于数组属于引用类型的一部分,因此当传递给其他变量时实际上共享同一份底层数据副本而非复制整个内容。这意味着修改其中一个地方会影响到另一个位置所指向的内容。 #### 函数 (Function) 除了作为执行单元外,函数本身也可以被当作普通值一样处理 —— 它们能够赋值给变量、参数传入另一些方法调用甚至返回成为结果的一部分。这种灵活性赋予了 JavaScript 更强大的编程范式支持,比如闭包机制就是基于此特性实现的。 这里展示了一个简单的匿名函数表达式的例子: ```javascript function greet(name) { console.log(`Hello ${name}`); } greet('World'); // 输出 Hello World ``` 综上所述,理解如何有效利用上述三种主要引用类型对于掌握 JavaScript 编程技巧来说非常重要。合理运用它们可以帮助构建更加模块化的应用程序架构,并提高整体开发效率[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值