zoukankan      html  css  js  c++  java
  • 5. javacript高级程序设计-引用类型

    1. 引用类型

    1.1 Object类型

    创建Object类型有两种方式:

    1. 使用new操作符后跟Object构造函数

    var person =new Object();

    1. 字符量表示法

    var person = {

           name:’chuck’

    }

    1.2 Array类型

    1.2.1 创建方式

    1. 使用Array构造函数

    var colors = new Array();

    1. 字符量表示法

    var colors = [];

    var names= [‘a’,’b’,’c’];

    1.2.2 检测数组

    使用 Array.isArray(value)来检测数组,true表示数组

    1.2.3 转换方法

    toLocaleString():分别调用每一项的toLocaleString()方法,并以逗号分隔

    toString():分别调用每一项的toString()方法,并以逗号分隔

    valueOf():返回数组本身

    1.2.4 栈方法

    栈是一种后进先出的数据结构,最新添加的项被移除

    使用push()方法添加最后一项

    使用pop()方法返回并移除最后一项

    1.2.5 队列方法

    队列是一种先进先出的数据结构,最先添加的项被移除

    使用push()方法添加最后一项

    使用shift()方法返回并移除第一项

    同事还存在unshift()方法,在数组第一项添加数据

    1.2.6 重排序方法

    1. reverse()方法

    反转数组的顺序

    1. sort()方法

    对数组进行排序,默认按照字符串进行排序,同事接受一个方法作为排序比较方法

    1.2.7 操作方法

    (1). concat方法

    连接数组的方法,多个数据类型组合在一起返回

    (2). splice方法

    splice(index,removeCount,value1,value2,…)

    index:表示要操作的索引

    removeCount:表示index索引开始删除的个数,0表示不删除

    value1,2…:表示删除后插入的值

    1.2.8 位置方法

    indexOf:方法从头开始查询

    lastIndexOf:方法从最后一位开始查找

    1.2.9 迭代方法

    l every:对数组中的每一项运行给定函数,每一项均放回true则返回true

    l filter:对数组中的每一项运行给定函数,返回该函数返回true时的项组成数组

    l forEach:对数组中每一项运行给定函数,该函数没有返回值

    l map:对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

    l some:对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true

    var nums = [1,2,3,4,5];

     

    nums.every(function (item,index,array) {

        // body...

    });

     

    nums.filter(function (item,index,array) {

        // body...

    });

     

    nums.forEach(function (item,index,array) {

        // body...

    });

     

    nums.map(function (item,index,array) {

        // body...

    });

     

    nums.some(function (item,index,array) {

        // body...

    });

    1.2.10 并归方法

    reduce和reduceRight方法,迭代每一项最后方法迭代后的结果,reduce从第一项开始,reduceRight从最后一项开始

    var nums = [1,2,3,4,5];

    nums.reduce(function(prex,cur,index,array){

        //body ...

    })

    1.3 Date类型

    使用Date构造函数进行创建

    var date = new Date();

    使用Date.parse()进行格式化

    1.4 RegExp类型

    1.4.1 创建

    var expression = /pattern/flags

    flags支持下列3个表示:

    g:全局模式

    i:不区分大小写

    m:多行模式

    1.4.2 使用

    l exec():返回一个数组,并包含额外的两个属性,index和input

    index表示匹配项在字符串的位置,input表示要逼匹配的字符串,数组返回字符串中所有匹配的字符串的集合,在设置全局模式的情况下,每次匹配字符串都会在字符串中查询新匹配项,没有设置的全局模式每次匹配都返回同一匹配项

    l test():接受一个字符串参数,表示十分符合匹配模式

    1.5 Function类型

    1.5.1 没有重载

    所有的函数均是Function类型的实例,“函数是对象,函数名是指针”

    1.5.2 函数内部属性

    l arguments

    arguments主要用途是保存函数参数,还有一个callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数

    l this

    指向当前函数的执行环境

    l caller

    表示调用这个函数的对象的指针

    1.5.3 函数属性和方法

    每个函数都存在两个属性length和prototype

    l length:表示函数参数的个数

    l prototype:保存所有实例方法的真正所在

    l apply:函数接受两个参数,一个是运行函数的作用域,另一个是参数数组

    l call:作用相同,只是接受参数不同,第一个参数没有变化,变化的是其余参数必须直接传递给函数

    1.6 基本包装类型

    Boolean,Number和String对象,尽量不要使用包装对象

    1.7 单体内置类型

    1.7.1 Global对象

    l URI编码方法

    encodeURI:不会对本身属于URI的特殊字符进行编码,例如冒号,正斜杠,问号和井字号进行编码

    encodeURIComponent:对所有的字符串任何非标准字符编码

    decodeURI:对encodeURI解码

    decodeURIComponent:对encodeURIComponent解码

    l eval方法

    执行一段js代码

    l Global对象属性

    包含一些属性,undefined,NaN等属性信息

    l window对象

    全局变量中的对象作物window对象的一部分实现的

    1.7.2 Math对象

    l 属性

    Math.E 自然对数的底

    Math.PI 圆周率等

    l min,max

    min求最小值

    max求最大值

    l 舍入方法

    Math.ceil:向上舍入为最接近的整数

    Math.floor:向下舍入为最接近的整数

    Math.round:标准四舍五入

    l random方法

    返回大于等于0并小于1的随机数

    1-10之间的数:var num = Math.floor(Math.random()*10+1)

    l 其他方法

    简单或者复杂的计算相关的方法

    Math.abs()求绝对值等方法

  • 相关阅读:
    vue单页面项目返回上一页无效,链接变化了,但是页面没有变化
    H5页面在iOS网页中的数字被识别为电话号码,字体颜色变黑色,且颜色不可改变
    vue-quill-editor 封装成组件;图片文件流上传;同一页面多个编辑器样式异常解决办法
    React 从零搭建项目 使用 create-react-app脚手架
    使用git pull文件时和本地文件冲突怎么办?
    webpack打包vue项目,资源路径如何从绝对路径改为相对路径?css中的图片资源如何修改配置?
    前端使用JS-SDK上传图片(文件)到七牛
    vue图片裁剪插件vue-cropper
    小程序图片裁剪组件
    微信小程序1rpx border ios真机显示不全问题
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4375949.html
Copyright © 2011-2022 走看看