美文网首页
$5 引用类型

$5 引用类型

作者: xiaoguo16 | 来源:发表于2017-04-29 12:25 被阅读0次

引用类型是一种数据结构,描述了一类对象所具有的属性和方法。它具有以下几种形式:

Object类型:

1.创建Object实例的方法:

a. new操作符

      var person = new Object();
      person.name="gly";

b.对象字面量

      var person={
          name:"gly"
      }

2.访问对象属性方法:

a.点表示方法(一般性方法)
person.name

b.方括号表示方法(当属性为变量时可以采用该方法)
person["name"]

Array类型

1.创建数组
a. Array

var colors=new Array();

b. 数组字面量

var colors=[1,2,3]

2.检测数组:Array.isArray(value)

Paste_Image.png

3.栈方法:push() pop() //在尾部加入删除
4.队列方法:shift() push() //shift() 在头部删除
反队列方法:unshift() pop() //unshift()在头部加入

5.重排序方法:

a.反转数组reverse()
b.排序sort() //注意:sort()方法比较的是字符串,对于数值型会排序错误,并且会直接修改原数组
字符串排序解决方法:加入compare()函数进行比较


Paste_Image.png

6.操作方法:

a.创建副本以及合并concat()
可以创建原数组的副本并且将新添加的放到副本中


Paste_Image.png

b.切割数组中的一部分slice()


Paste_Image.png

c.大boss,最强大的方法,可以做删除、插入、替换splice()

Paste_Image.png

第一个参数为从第几个位置开始,第二个参数为要删除几项,第三个参数为需要加入的内容,最后更改的是原数组a,bcd是删除掉的数组。

7.查找元素位置方法:

a. indexOf()从前往后查:第一个参数为要查找的元素,第二个参数为查找的起始位置
b. lastIndexOf()从后往前查

Paste_Image.png

8.迭代方法:

  a. every()  //每一项都符合返回true
  b. some()  //有一项符合就返回true
  c. forEach()  //无返回值
  d. filter()  //返回符合的原数据
  e. map()  //返回结果集
Paste_Image.png

9.归并方法:
reduce() reduceRight()二者方向不同,这两个方法都会对数组进行迭代,四个参数

Paste_Image.png

Date类型

创建方式:var now=new Date();

Paste_Image.png

返回表示日期的毫秒数:
a. Date.parse()
b. Date.UTC()

Paste_Image.png

获取现在的时间:Date.now()

RegExp类型

创建方式:

a. 字面量方法:
var pattern= /bat/i;

b.构造函数方法:
var pattern=new RegExp("bat","i");

g :全局模式
i :忽略大小写
m:多行模式

Function类型

函数名是一个指向函数对象的指针!!!!

1.创建方式:
a. 函数声明:

    function sum(a,b){
        return a+b;
    }

b.函数表达式:

    var sum=function(a,b){
        return a+b;
    };

c.Function构造函数

    var sum=new Function("a","b","return a+b");

2.函数声明与函数表达式的不同:

函数声明提升

Paste_Image.png

变量sum1提升,但是不会保存对函数的引用。

Paste_Image.png

3.函数内部属性

  1. callee : 一个指针,指向拥有arguments对象的函数(arguments: 保存传入函数的所有参数,以数组形式保存)
function factorial(num){
    if(num<=1)
     return 1;
   } else{          
      return num*arguments.callee(num-1);  //argument.callee等价于factorial,好处:函数变名时对内部没有影响
   }
}
  1. caller: 谁调用了该函数,返回它的引用

谁调用了b()??哦,是a(),那就返回a()的引用,也就是函数a()

Paste_Image.png

4.函数属性和方法:
a. 在特定的作用域中调用函数: apply(作用域,参数数组)
call(作用域,参数)

用sayColor对象的方法作用于window和o对象上。(调用其他对象的方法)

Paste_Image.png

b. bind():也是在特定的作用域中调用函数,只是bind方法会产生一个函数实例,只有对它调用时才会得到结果。所以如果想立即得到结果就用apply(),call(),如果不是,则使用bind().

基本包装类型:

Boolean Number String(注意与boolean number string不同)

基本包装类型:读取基本类型时,后台会创建一个基本包装类型对象,让我们可以对其调用方法操作数据。

Paste_Image.png

在执行第二行代码时,后台会有以下过程:
a. 创建string类型的一个实例; var s1= new String("abcd");
b. 在实例上调用方法; var s2=s1.substring(s1);
c. 销毁实例。 var s1=null;

基本包装类型与引用类型的区别:生存期不同。(引用类型只有在脱离作用域后才会销毁,基本包装类型只有在执行该代码时才存在,一旦执行完毕就销毁)

Paste_Image.png

构造函数(有new)与转型函数(无new)的不同:

Paste_Image.png

String类型:

String对象提供了很多字符串操作的方法:
1.字符串拼接concat()
2.提取部分字符:slice() substring() substr()
3.确定字符串的位置indexOf() lastIndexOf()
4.删除前后的空格trim()
5.字符串大小写方法:toLowerCase() toUpperCase() toLocaleLowerCase() toLocaleUpperCase()
6.字符串匹配:match() search() replace() split()
7.字符串比较: localeCompare()

单体内置对象

在执行代码之前,这些对象已经存在了。

1.Global对象
eval()方法:解析字符串,会将字符串当作实际的代码执行
eval("console.log(1)") //1
eval()中创建的变量和函数不会被提升。

Global对象如何访问:在Web浏览器中,Global对象是window对象的一部分。

2.Math对象:提供完成计算的属性和方法。
最大最小max() min()
向上舍入向下舍入四舍五入 ceil() floor() round()
0-1随机数 random()
产生一个介于[low,up]之间的整数的函数:

    function selectFrom(low,up){
        var choices=up-low+1;
        return Math.floor(Math.random()*8+2);
    }

相关文章

  • $5 引用类型

    引用类型是一种数据结构,描述了一类对象所具有的属性和方法。它具有以下几种形式: Object类型: 1.创建Obj...

  • 5 引用类型

    引用类型的值(对象)是引用类型的一个实例。引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型也被称为对象...

  • 5 引用类型

    本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...

  • JavaScript 高级程序设计 笔记二

    第5章 引用类型 引用类型的值(对象)是引用类型的一个示例。在ECMAScript 中,引用类型是一种数据结构,用...

  • JavaScript 高级程序设计(第5章 引用类型)

    第5章 引用类型 1. 引用类型的值(对象)是引用类型的一个实例2. 引用类型是一种数据结构, 用于将数据和功能组...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 数据类型分为两类,即基本数据类型和引用类型,其中基本数据类型包括5样,num...

  • 5.引用类型

    前面讲过,根据内存不同。变量分为:基本数据类型和引用类型对象是某个特定引用的实例。新对象是使用new操作符,紧跟一...

  • js数据类型

    基本类型:Null,ndefined,Number,Boolean,String,(5) 引用类型:Object,...

  • 2018-05-30 变量 typeof() 和instance

    1:变量的类型 变量分为基本类型和引用类型,5种基本数据类型和1种引用类型 基本数据类型: String Bool...

  • 《JavaScript高级程序设计》Chapter 5 引用类型

    Chapter 5 引用类型 Object类型 创建Object实例new Object()var person ...

网友评论

      本文标题:$5 引用类型

      本文链接:https://www.haomeiwen.com/subject/fnjzzttx.html