JS学习专栏——Javascript引用类型

一、Object类型

1.创建Object实例

//第一种:new操作符后跟Object构造函数
var person = new Object();
person.name = "Nicholas";
//第二种:对象字面量表示法
var person{
    name : "Nicholas",
    age: 29
}

2.访问对象属性

//点表示法
alert(person.name);
//方括号语法(可以通过变量来访问属性,属性名中包含会导致错误的字符时也可以使用)
alert(person[name]);
alert(person[first name]);

二、Array类型

1.创建数组

//第一种:Array构造函数
var values = new Array();
var colors = new Array("red","blue","green");
//第二种:数组字面量表示法
var values = [];
var colors = ["red","blue","green"];

2.栈和队列

  • push()–接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度
  • pop()–从数组末尾移除最后一项,减少数组length值,并返回移除的项
  • shift()–移除数组的第一个项,减少数组length值,并返回移除的项
  • unshift()–在数组前端添加任意个项并返回新数组的长度

3.排序方法

  • reverse()–反转数组项的顺序
  • sort()–按升序排列数组(根据字符串的Unicode码点排序),可以接收一个比较函数作为参数

4.操作方法

  • concat()–创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,并返回新构建的数组
  • slice()–一个参数时,返回从该参数指定位置开始到当前数组末尾的所有项;两个参数时,返回起始位置和结束位置之间的项(不包括结束位置),该方法不影响原数组
  • splice()–删除(两个参数,要删除的第一项的位置、要删除的项数);插入(三个参数,起始位置、0、要插入的项);替换(三个参数,起始位置、要删除的项数、插入任意数量的项)

5.位置方法
–两个方法都接收两个参数:要查找的项、查找起点位置的索引(可选),返回要查找的项在数组中的位置,没找到则返回-1

  • indexOf()–从数组开头向后查找
  • lastIndexOf()–从数组末尾向前查找

6.迭代方法
–接收两个参数:要在每一项上运行的函数、运行该函数的作用域对象(可选)
传入的函数接收三个参数:数组项的值、该项在数组中的位置、数组对象本身

  • every()–对数组中的每一项运行给定函数,如果每一项都返回true,则返回true
  • filter()–对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
  • forEath()–对数组中的每一项运行给定函数,没有返回值
  • map()–对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
  • some()–对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter(function(item,index,array){
    return (item > 2);
})   //[3,4,5,4,3]
var mapResult = numbers.map(function(item,index,array){
    return item * 2;
})   //[2,4,6,8,10,8,6,4,2]

7.缩小方法
–这两个方法会迭代数组的所有项然后构建一个最终返回的值,接收两个参数:在每一项上调用的函数、作为缩小基础的初始值(可选)
传入的函数接收四个参数:前一个值、当前值、该项在数组中的位置、数组对象本身

  • reduce()–从数组第一项开始遍历整个数组
  • reduceRight()–从数组最后一项开始遍历整个数组
//求数组中所有值之和
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
    return prev + cur;
})   //15

8.格式化

  • toFixed()–安照指定的小数位数返回数值的字符串形式
  • toExponential()–返回以指数表示法表示的数值的字符串形式,参数指定输出结果中的小数位数
  • toPrecision()–可能会返回固定大小的格式,也可能返回指数格式,参数为位数表示
var num = 100;
alert(num.toFixed(2));  //"100.00"
alert(num.toExponential(1));  //"1.0e+2"
var num1 = 99;
alert(num.toPrecision(1));  //"1e+2"
alert(num.toPrecision(1));  //"99.0"

三、Data类型

var now = new Date(); //不传参的情况下,新创建的对象自动获得当前日期和时间
var someDate = new Date("May 25,2004"); //后台自动调用Data.pares()

四、RegExp类型

见正则表达式学习篇

五、Functon类型

1.定义函数

  • 函数声明提升:解析器会率先读取函数声明,并使其在执行任何代码之前可用;而函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行
  • 要访问函数的指针而不执行函数的话,必须去掉函数名后面的那对圆括号
//函数声明语法
function sum (num1, num2){
    return num1 + num2;
}
//函数表达式(匿名函数)
var sum = function(num1,num2){
    return num1 + num2;
}; //注意函数末尾的分号

2.函数内部属性

  • this:函数据以执行的环境对象
  • arguments:类数组对象,包含着传入函数中的所有参数
  • callee:该属性是一个指针,指向这个拥有arguments对象的函数
//消除阶乘函数的紧密耦合问题
function factorial(num){
    if(num <= 1){ return 1; }
    else{
        return num * arguments.callee(num-1);
        // return num * factorial(num-1);
    }
}
  • caller:该属性中保存着调用当前函数的引用
function outer(){ inner(); }
function inner(){ alert(inner.caller); }
outer();  //弹出outer函数的源代码
  • length;表示函数希望接收的命名参数的个数
  • apply()和call():这两个方法的用途都是在特定的作用域中调用函数,实际等于设置函数体内this对象的值。两个方法的作用相同,区别仅在于接收参数的方式不同。
  • bind():会创建一个函数的实例,其this值会被绑定到传给bind()函数的值
window.color = "red";
var o = { color: "blue" };
function sayColor(){
    alert(this.color);
}
sayColor.call(this);  //red
sayColor.call(o);  //blue

var objectSayColor = sayColor.bind(o);
objectSayColor();   //blue

六、基本包装类型类型

1.Boolean类型
2.Number类型
3.String类型

七、单体内置对象

1.Global对象
2.Math对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值