zoukankan      html  css  js  c++  java
  • JS引用类型

    引用类型的值(对象)是引用类型的一个实例。在JS中,引用类型是一种数据结构,用于将数据和功能组织在一起。在其它面向对象语言中常被成为类,但在JS中,由于不具备传统面向对象语言所支持的类和接口等基本结构,所以称其为引用类型更合适。

    一、Object类型

    1. 创建:var a = new object(); 或 var a = {x:"x", y:"y"}; 或 var a = {};

    二、Array类型

    1. 创建:var myArray1 = new Array(); 或 var myArray2 = [1, 2, 3]

    2. 读取:下表索引法

    3. 实例属性:length返回数组项数(可读可写)

    4. 方法:

    (1)检测数组:Array.isArray()方法,传入被检测对象作参数

    (2)转换方法:toLocaleString()、toString()、valueOf()

    (3)栈方法:push()、pop()

    (4)队列方法:push()、shift()

    (5)重排序方法:reverse()、sort()

    (6)操作方法:concat()、slice()、splice()

    (7)位置方法:indexOf()、lastIndexOf()

    (8)迭代方法:every()、filter()、forEach()、map()、some()

    (9)归并方法:reduce()、reduceRight()

    三、Date类型

    1. 创建:var now = newDate()

    (1)无参数传入时新创建的对象自动获得当前日期时间;

    (2)如果想创建指定日期,必须传入该日期的毫秒数。为简化这一过程,有两个方法根据指定日期返回毫秒数:1)Date.parse() :接收一个表示日期的字符串参数。 2)Date.UTC():接受若干参数,即年、月(基于0)、日、时、分、秒,如果省略其他参数,则默认为0。

    2. 方法:

    (1)转换方法:toLocaleString()、toString()、valueOf()

    (2)日期格式化方法:toDateString()、toTimeString()、toLocaleDateString()、toLocaleTimeString()、toUTCString()

    (3)日期/时间组件方法:直接取得和设置日期值中特定部分的方法

    四、RegExp类型

    1. 创建:

    (1)方式一:var pattern1 = / pattern / flags 

    (2)方式二:var pattern2 = new RegExp("pattern", "flags")

    其中,pattern部分为正则表达式,flags部分为匹配模式(包括g全局、i不区分大小写、m多行)。

    2. 实例属性:global、ignoreCase、lastIndex(下一个匹配项的字符位置,从0算起)、multiline、source(返回正则表达式字符串表示,按字面量形式)

    3. 实例方法:

    (1)exec():接收要应用模式的字符串,然后返回一个匹配信息的数组,匹配失败则返回null。返回的数组第一项是整个模式匹配的字符串,其他项是与模式中捕获组匹配的字符串,另外还包含两个属性:index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串。

    是否设置g标志对exec()的影响:对exec()方法而言,每次只会返回一个匹配项,但如果设置了g标志,则每次匹配都会从上次匹配成功的位置开始(lastIndex属性增加),如果未设置g标志,就只能匹配第一项。

    (2)test():接收要应用模式的字符串,匹配成功返回true,匹配失败返回false。

    (3)toLocaleString()、toString():返回正则表达式的字面量

             valueOf():返回正则表达式本身

    4.构造函数属性(静态属性):

    基于所执行的最近一次正则表达式操作而变化。每个属性有两种访问方式,长属性名和短属性名。

    长属性名 短属性名 说明
    input $_ 最近一次要匹配的字符串
    lastMatch $&  最近一次的匹配项
    lastParen $+  最近一次匹配的捕获组 
    leftContext  $` 

    input字符串中lastMatch之前的文本 

    multiline  $*  布尔值,表示是否所有表达式都使用多行模式 
    rightContext  $'  Input字符串中lastMatch之后的文本 

    五、Function类型

    函数是对象,函数名是指针。

    1. 创建:函数声明语法function func(args) {statements  return;} 等价于 var func = function(args) {statements  return;}  或者 var func = new Function("args","return ... ");

    2. 函数声明和函数表达式的区别:函数声明会被解析器率先读取,函数表达式必须等到解析器执行到它所在的代码行。这会影响什么时候可以通过变量访问函数。

    3. 函数可以作为值来使用,即可传入函数名做参数,也可返回函数。

    4. 函数内部属性:函数内部有两个特殊的对象——arguments和this。其中arguments保存函数参数(arguments.callee是一个指针,指向拥有这个arguments对象的函数),this引用的是函数执行的环境对象。

    5. 函数属性:length表示函数希望接收的命名参数的个数,prototype保存函数所有实例方法(不可枚举)。

    6. 函数方法:apply()、call(),这两个方法在特定的作用域调用函数,实际上等于设置函数体内this对象的值。区别于参数而不同,第一个参数都是在其中运行函数的作用域,但apply()第二个参数为参数数组,call()明确传入每一个参数。它们真正的强大之处是能够扩充函数赖以生存的作用域。

    六、基本包装类型

    1. 3个基本包装类型:Boolean、Number、String对应各自的基本类型值,每当读取一个基本类型值是,后台会自动创建一个对应的基本包装类型的对象,并在当行代码执行结束后销毁这个实例对象。

    2. 显式地创建基本包装类型的对象(不常用):var obj = new Number("25");

    3. Boolean类型:注意区分基本类型的布尔值与Boolean对象之间的区别——一个是基本类型值,一个是对象。

    4. Number类型:valueOf()、toLocaleString()和toString()、toFixed()、toExponential()、toPrecision()

    5. String类型:length属性、charAt()、concat()、slice()、substring()、indaexOf()、lastIndex()、trim()、toLowerCase()、toUpperCase()、match()、search()、repalce()、split()、localeCompare()、fromCharCode()

    七、单体内置对象

    在程序执行前就已经存在了的对象。

    1. Global对象

    (1)eval()方法:用来解析参数代码字符串

    2. Window对象

    3. Math对象

    (1)属性:多是一些数学计算的特殊值。包括E、LN10、LN2、LOG2E、LOG10E、PI、SQRT1_2(1/2的平方根)、SQRT2

    (2)方法:min()和max()、ceil()、floor()、round()、random()等

  • 相关阅读:
    android日期处理工具类
    android图片处理工具类
    android动画工具类
    android之Toast工具类
    android日志工具类
    androidApp开发之“BMI指数计算”
    android游戏开发之“找出红心A”
    android之获取联系人并按拼音排序
    android之音乐播放和音效播放
    .net学习路线
  • 原文地址:https://www.cnblogs.com/wangxinwen/p/9523038.html
Copyright © 2011-2022 走看看