0

0

对JavaScript的引用类型讲解

巴扎黑

巴扎黑

发布时间:2017-07-23 15:50:49

|

1705人浏览过

|

来源于php中文网

原创

Object类型

 1 //创建方式一 2 var person = new Object(); 3 person.name = "jack"; 4 person.age = 12; 5  6 //创建方式二 7 var person = { 8       name:"jack", 9       age:1210 }11 //创建空对象12 var person = {};//与new Object()相同13 14 //访问方式15 person["name"];  jack16 person.name;  jack17 //以上两种方式区别在于使用中括号方式可以通过变量访问18 var propertyName="name";19 person[propertyName];  jack20 person["first name"] = "jack";//如果属性名有空格

Array类型  

//定义var array = new Array();var array2 = new Array("a","b","c");var array3 = ["a","b","c"];//修改array3[2] = "d";//array3:a,b,d//新增array3[3] = "d";//array3:a,b,c,darray3[length] = "d";//array3:a,b,c,d第二种新增方式//末尾删除元素//数组的length属性不是只读的,所以通过改变length可以从数组末尾移除array3.length=3;//array3:a,b,c

检测数组:

确定一个值是哪种基本类型(Undefined,Null,Boolean,Number,String)使用typeof操作符,确定一个值是哪种引用类型使用instanceof操作符。

之所以Array中新增了Array.isArray()方法,是因为instanceof操作符是在只有一个全局执行环境的情况下;如果包含多个框架,那就存在两个以上不同的全局环境,就存在两个以上的不同版本的Array构造函数。 栈方法(LIFO):Array通过push(接收任意数量的参数,逐个添加到数组末尾)和pop(从数组末尾移除最后一项,并减少length值,返回移除的项)两个方法可以实现类似栈的行为。

队列方法(FIFO):Array通过shift(从数组前端取得项)和push或unshift(在数组前端添加任意个项并返回新数组的长度)和pop两种都能实现模拟队列的形式。

重排序方法:reverse(反转数组项的顺序);sort(实现排序,接收一个自定义函数,通过负数,0,正数)

立即学习Java免费学习笔记(深入)”;

操作方法:concat(基于接收的参数添加到副本数组中,并返回数组的副本);slice(返回起始和结束位置之间的项,但不包括结束位置的项);

     splice()方法:可以删除任意数量的项splice(0,2)会删除前两项(要删除第一项的位置和要删除的项数);可以向指定位置插入多个项;可以向指定位置插入任意数量的项                                        同时删除任意数量的项。

位置方法:ECMAScript 5为数组实例添加了两个位置方法:indexOf()和lastIndexOf()

迭代方法

  1. every():接收一个函数,如果对于数组每一项都返回true,结果返回true。

  2. some():接收一个函数,如果对于数组中有返回true的项,结果就返回true,注意与every区别。

  3. filter():接收一个函数,返回满足条件也就是true的项。

  4. forEach():对数组中每一项运行给定的函数。

  5. map():运行给定的函数,返回每次函数调用的 结果组成的数组。

归并方法:reduce(从数组第一项开始)和reduceRight(从数组最后一项开始)。

Function类型

函数实际上是对象,每个函数都是Function类型的实例,都与其他引用类型一样具有属性和方法。因此函数名实际上也是一个指向函数对象的指针。

 1 //使用函数声明语法定义 2 function sum(num1,num2) 3 { 4      return num1+num2;          
 5 } 6 //使用函数表达式定义,注意结尾要加分号 7 var sum = function(num1,num2) 8 { 9     return num1+num2;10 };

函数声明与函数表达式是有区别的,解析器在向执行环境加载数据时,会率先读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则需要等到解析器执行到它所在的代码行才会真正被解释执行,也就是说函数表达式要写在调用函数代码的前面。

函数可以作为值来使用,既可作为参数也可作为返回值,如下例子:

jQuery图片内容展开-收缩选项卡
jQuery图片内容展开-收缩选项卡

jQuery图片内容展开/收缩选项卡,点击图片会出现对应的文字解说。兼容主流浏览器,php中文网推荐下载! 使用方法: 1、head区域引用以下文件

相关专题

更多
Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

4

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

16

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.21

windows激活码分享 windows一键激活教程指南
windows激活码分享 windows一键激活教程指南

Windows 10/11一键激活可以通过PowerShell脚本或KMS工具实现永久或长期激活。最推荐的简便方法是打开PowerShell(管理员),运行 irm https://get.activated.win | iex 脚本,按提示选择数字激活(选项1)。其他方法包括使用HEU KMS Activator工具进行智能激活。

2

2026.01.21

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

6

2026.01.21

毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm
毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm

毒蘑菇VOLUMESHADER_BM测试网站网址为https://toolwa.com/vsbm/,该平台基于WebGL技术通过渲染高复杂度三维分形图形评估设备图形处理能力,用户可通过拖动彩色物体观察画面流畅度判断GPU与CPU协同性能;测试兼容多种设备,但中低端手机易卡顿或崩溃,高端机型可能因发热降频影响表现,桌面端需启用独立显卡并使用支持WebGL的主流浏览器以确保准确结果

25

2026.01.21

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

7

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.4万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号