zoukankan      html  css  js  c++  java
  • 05引用类型——JavaScript高级程序设计(笔记)

    00.引用类型的值(对象)是引用类型的一个实例。引用类型是一种数据结构,用于将数据和功能组织在一起。他也常被称为类。引用类型有时候也被称为对象定义,因为他们描述的是一类对象所具有的属性和方法。

    01.创建Object实例方式

      a.new创建

        var person = new Object();

        person.name = "Nicholas";

        person.age = 29;

      b.对象字面量

        var person = {

          name : "Nicholas",

          age : 29

        }

    02.Array类型

      创建数组的基本方式有两种

      a.var colors = new Array();

      b.var colors = [];

      备注:数组最多可以包含4294967295个项,这几乎已经能够满足任何编程需求了。如果想添加的项数超过这个上限值,就会发生异常。

     

    03.数组一些方法:

      a.(Array.isArray())

      b.toLocaleString() oString()valueOf()

      c.栈方法(push 和 pop):栈是一种(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。

      d.队列方法(shift):对立数据结构的访问规则FIFO(First-In-First-Out,先进先出)。

      e.操作方法:

        concat()方法:基于当前数组中的所有项创建一个新数组。

        slice()方法:它能基于当前数组中的一或多个项创建一个新数组

        indexOf()和lastIndexOf()方法:这两个方法都接收两个参数,要查找的项和表示查找起点位置的索引

        reduce和reduceRight:这个函数返回的任何值都会作为第一个参数自动传给下一个项。第一次迭代发生在数组的第二项上,因此第一个参数是数组的第一项,第二个参数就是数组的第二项。

    04.Date类型

      a.日期格式化方法

        *toDateString:特定于实现格式显示星期、月、日和年

        *toTimeString:以特定于实现的格式显示时分秒和时区

        *toLocalDateString:以特定于实现的格式显示时分秒和年

        *toLocaleTimeString:以特定于实现的格式显示时分秒

        *toUTCString:以特定于是心啊的格式完整的UTC日期

    05.RegExp类型

      var expression = /pattern/flags

      模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找以及反向引用。每个正则表达式都可以带有一伙多个标志(flags),用以标明正则表达式的行为:g——表示全局模式;i——表示不区分大小写(case-insensitive)模式;m——表示多行(multiline)模式

    06.Function类型

      a.有意思的根源,则在于函数实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数声明语法定义的。

      b.函数声明与函数表达式:解析器在想执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用;至于函数表达式,则必须等到解析器执行到它所在代码行,才会真正被解释执行。

      c.函数内部属性:arguments、和this、callee的属性。备注:callee属性是一个指针,指向拥有这个arguments对象的函数。

        函数的名字仅仅是一个包含指针的变量而已。因此,即使是在不同的环境中执行,全局的sayColor函数与o.sayColor()执行仍然是同一个函数。口诀:this谁调用就是谁的this.

      d.caller当前谁调用的的对象

      e.call、apply和bind

      f.基本包装类型:Boolean、Number和String.

        备注:Boolean、Number、String是一个对象。

      g.String类型

        g1.charAt()和charCodeAt():方位字符串中特定字符的方法。

        g2.concat():用于将一或多个字符串拼接起来,返回拼接得到的新字符串

        g3.indexOf和lastIndexOf():有两个可以从字符串中查找子字符串的方法

        g4.trim()方法:删除前置和后缀的所有空格。

        g5.toLowerCase()、toLocaleLowerCase()、toUpperCase()、toLocaleUpperCase()

        g6.RegExp():String类型定义了几个用于在字符串中匹配模式的方法

        g7.localeCompare():比较两个字符串,并返回。

        g8.fromCharCode()接收一伙多个字符串编码,然后将他们转换成一个字符串。

    07.单体内置对象

      a.Global对象

        温馨提示:能够解释代码字符串的能力非常强大,但也非常危险。因此在使用eval()时必须几位谨慎,特别是在用他执行用户输入数据的情况下。否则,可能会有恶意用户输入威胁你的站点或应用程序安全的代码。(所谓的代码注入)

      b.window对象

        JavaScript中的window对象除了扮演ECMAScript规定Global对象的角色外,还承担了很多别的任务。

      c.Math对象

        c1.Math对象的属性

        c2.min()和max()方法

        c3.random()方法

    08.小结

      *引用类型与传统面向对象程序设计中的类相似,但实现不同

      *Object是一个基础类型,其他所有类型都从Object继承了基本行为

      *Array类型是一组值的有序列表,同时还提供了操作和转换这些值的功能

      *Date类型提供了有关日期和时间的信息,包括当前日期和时间以及相关的计算功能

      *RegExp类型是ECMAScript支持正则表达式的一个接口,提供了最基本的和一些高级的正则表达式功能。

      *函数实际上Function类型的实例,因此函数也是对象;而这一点正式JavaScript最有特色的地方。由于函数是对象,所以函数也拥有方法,可以用来增强其行为。

  • 相关阅读:
    详细了解SQLITE 优缺点 性能测试
    特例 FOR 循环
    java获得CPU使用率,系统内存,虚拟…
    中国历史表
    java 内部类
    JAVA 修饰符
    ubuntu android 命令环境下操作sqlite
    ANDROID 绝对布局 相对布局 Linear…
    JAVA 取系统当前日期 少8个小时
    linux 根目录下的子目录的意义
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/9531632.html
Copyright © 2011-2022 走看看