zoukankan      html  css  js  c++  java
  • 01.JavaScript 面向对象精要--原始类型和引用类型

    一.什么是类型
     JavaScript 虽然没有类的概念。但依然存在两种类型:原始类型和应用类型。
     原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置
     的引用。也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在
     对象内,该指针指向实际对象在内存中的储存位置。

    二.原始类型
     2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined
      原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量
      时,该值将复制到变量中。

    1  var color1 = ''red;
    2   var color2 = color1; //将color1的值复制一份给变量color2
    3   color1 = 'blue';
    4   console.log(color1); //'blue'
    5   console.log(color2); //'red'


      2.2 鉴别原始类型
      鉴别原始类型的最佳方法使用typeof操作符。
      2.3 原始方法
      虽然字符串、数字、布尔值是原始类型,但是它们拥有方法(underfined和null没有)

    1  console.log(typeof 'hello'); //'string'
    2   console.log(typeof 10); //'number'
    3   console.log(typeof 5.1); //'number'
    4   console.log(typeof true); //'boolean'
    5   console.log(typeof underfined); //'underfined'
    6   console.log(typeof null); //'object' 判断一个值是否为空,直接和null比较
    7   console.log(null == underfined); //'true';
    8   console.log(null === underfined); //'false';

    三.引用类型
     3.1 创建对象

    1  var o1 = new Object();
    2   var 02 = create.Object();
    3   var o3 = {};


     3.2 对象引用解除
     3.3 添加删除属性
     3.4 内建对象实例化
      1) Array   //数组类型,以数字为索引的一组值的有序列表
      2) Date    //日期和时间类型
      3) Error    //运行期错误类型
      4) Function   //函数类型
      5) Object    //通用对象类型
      6) RegExp   //正则表达式类型
     3.5 对象和数组字面量形式

    1  var o = {
    2    naem : 'hello',
    3    age : 1
    4   };
    5   var arr = [1,2,3];


      3.6 函数字面形式

    1 function ref(value){
    2    return value;
    3   };
    4   var ref2 = new Function('value','return value;')


      3.7 正则表达式字面形式

    1   var numbers = /d+/g;
    2   var numbers2 = new RegExp("\d+","g");


     3.8 访问属性

    1 var arr = [];
    2   arr.push(123);
    3   var arr2 = [];
    4   arr2["push"](123);


       3.9 鉴别引用类型
      函数可以使用typeof而数组和对象则使用instanceof操作符

    1 var arr = [];
    2   var o = {};
    3   function f(){};
    4   console.log(arr instanceof Array) //true
    5   conlole.log(o instanceof Object); //true
    6   console.log(f instanceof Function) //true


       3.10 鉴别数组 使用Array.isArray();

    1 var arr = [];
    2   console.log(Array.isArray(arr)); //true


      四.原始封装类型
     原始封装类型共有3种(Number,String,Boolean)

    1 var name = 'Nicholas';
    2  var temp = new String(name);
    3  temp.last = 'Zakas';
    4  temp = null;
    5  console.log(temp.last) //underfined


      临时对象仅在值被读取时创建

  • 相关阅读:
    相关不是因果,哪又是啥?
    .NET Http请求
    .NET [MVC] 利用特性捕捉异常
    .NET WebAPI 利用特性捕捉异常
    .NET Core[MVC] 利用特性捕捉异常
    .NET Core 如何使用Session
    .NET CORE 使用Session报错:Session has not been configured for this application or request
    .NET Core Cache [MemoryCache]
    .NET CORE 设置cookie以及获取cookie
    webapi 控制json的字段(key)显示顺序
  • 原文地址:https://www.cnblogs.com/ShareBeautiful/p/5839526.html
Copyright © 2011-2022 走看看