美文网首页
引用类型

引用类型

作者: Mr豆花 | 来源:发表于2016-11-21 15:14 被阅读26次

基本类型与引用类型的区别

基本类型是保存在栈内存中的简单数据段,大小固定。
引用类型是保存在堆内存中的对象,变量中保存的是指针,指向内存中另一个位置,大小不固定。

基本类型值有哪些?引用类型值有哪些?

基本类型值:undefined,null,number,string,boolean。
引用类型值:object,array,date,regexp,function,基本包装类型。

Object类型

创建对象的常用两种方法
  • new Object(),借用原生构造函数;
  • 通过对象字面量

推荐使用对象字面量方式创建对象,字面量初始化直接赋值,效率更高;代码量少,给人一种封装数据的感觉。

访问对象属性和方法的两种常用方法
  • 点表示法 .
  • 方括号表示法 []
对比

点表示法使代码更严谨,方便,少写好几个字符。是主流的写法。
方括号表示法主要优点属性可以是变量,关键字,保留字,错误的字符。

Array类型

创建数组的两种常见方式
  • 调用原生构造函数(Array())
  • 使用数组字面量
优缺点对比

和对象的两种方式一样

创建一个包含只含数字20的数组
  • new Array(20)的解决方案
    new Array(20)创建的是一个长度为20的数组
var arr = new Array("20");
get20 = parseInt(arr[0]);
  • var get20 = [20];
检测数组方式的对比(选讲)
  • isArray()
  • 其他

数组各种方法

  • 转换方法

  • tolacaleString() // 转换为本地字符串,时间类型比较常用

  • toString() // 转为传统字符串,常用

  • value of() // 输出本身的值

  • join() // 以不同的分隔符来分割数组

  • 栈方法
    分析栈的特性,后进先出

  • push() // 添加到数组末尾,返回数组长度

  • pop() // 删除并返回数组最后一项

  • 队列方法
    与栈方法相反,先进先出

  • shift() // 删除并返回数组第一项

  • unshift() // 在数组前端添加任意项并返回新数组的长度

  • 重排序方法

  • reverse() // 反转

  • sort() // 按照字符编码的顺序从小到大排序,想按照数字顺序方法可以借比较函数

把比较函数的例子列几个出来

  • 操作方法

  • concat() // 创建一个数组的副本,并把参数加到副本最后

  • slice() // 返回指定位置到数组末尾的所有项,不会影响原数组

  • splice() // 最强大的方法,删除,插入,替换

  • 位置方法

  • indexOf()

  • lastIndexOf()

  • 迭代方法
    解释迭代是什么意思? 按顺序访问列表(数组)中每一项

  • every()

  • filter()

  • forEach()

  • map()

  • some()

  • 归并方法

  • reduce()

  • reduceRight()

    • 两个方法都接受两个参数,第一个参数为回调函数,回掉函数接受四个参数:
      前一个值,当前值,当前项的索引,目前数组对象。
    • 有兼容性

Date类型

直接写一个获取时间的例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="time"></div>
    <script type="text/javascript">
        (function time() {
            var oTime = document.getElementById('time');
            var now = new Date();
            var year = now.getFullYear();
            var month = now.getMonth() + 1;
            var day = now.getDate();
            var hour = now.getHours();
            var minute = now.getMinutes();
            var second = now.getSeconds();
            var timer = null;

            
            oTime.innerHTML = year+"年"+month+"月"+day+"日"+hour+"点"+minute+"分"+second+"秒";
            timer = setInterval(time,1000);
            
            function check(t) {
                if(t < 10) {
                    return "0"+t;
                }
            }
        })();
    </script>
</body>
</html>

RegExp类型

创建正则表达式的两种方式
  • var reg1 = new RegExp("pattern","flags") // 借用原生正则构造函数
  • var reg2 = / pattern / flags; // 正则字面量

优先使用字面量,使用正则字面量的时候需要对特殊字符进行转义(\),

function类型

函数的内部属性 this

函数运行时,会自动生成一个内部属性(this指针),代表调用当前函数的对象;

function getThis(){
    console.log(this);
}
getThis();

相关文章

  • JavaScript基础三

    1、引用类型有哪些?非引用类型有哪些 引用类型:Object非引用类型:number string null ...

  • 引用类型与对象拷贝

    1.引用类型有哪些?非引用类型有哪些 引用类型: 对象 object 数组 函数 正则非引用类型...

  • 引用类型对象拷贝思考

    1、引用类型有哪些?非引用类型有哪些 非引用类型 String 类型、Null 类型、Number 类型、Unde...

  • js-引用类型对象拷贝

    1.引用类型; 2.过滤数组; 3.深浅拷贝方法; 1.引用类型有哪些?非引用类型有哪些 引用类型:引用类型(Ob...

  • JavaScript引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型:对象、数组、函数、正则非引用类型:string、number、bool...

  • 进阶任务-4

    引用类型有哪些?非引用类型有哪些2.如下代码输出什么?为什么? 引用类型有哪些,非引用类型有哪些引用类型:数组,对...

  • 面向对象学习笔记

    - 数组其实就是一种引用类型。 int是基本类型,int[]是引用类型 数组是引用类型,引用类型和基本类型的区别在...

  • 深拷贝与浅拷贝

    一.引用类型与值类型 我们都知道,js有两种基本类型,引用类型与值类型。引用类型的“=”只是拷贝了引用,而基本类型...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 引用类型:对象、数组、正则、函数非引用类型:number、string、bo...

  • 一.C#中值类型与引用类型

    总结:值类型直接存储其值,引用类型存储对值的引用,值类型存在堆栈上,引用类型存储在托管堆上,值类型转为引用类型叫做...

网友评论

      本文标题:引用类型

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