基本数据类型及检测方法

news/2024/7/10 22:59:41 标签: es6
  • 1、数据类型
    es5的数据类型:Number、String、 Underfined 、Null 、Boolean 、Object
    引用数据类型包括 Object、Array、Function
    es6新增数据类型:Symbol

  • 2、什么是基本数据类型、引用数据类型
    基本数据类型指的是简单的数据段,而引用数据类型指那些可能由多个值构成的对象;
    引用类型的值是保存在内存中的对象,对Javascript来说,不能直接访问内存的位置。在操作对象时,实际时操作对象的引用而不是实际的对象,为此,引用类型是按引用访问的。

  • 3、探讨复制变量值的影响
    3.1 、基本数据类型

    <script>
        var num1 = 123;
        var num2 = num1;
        console.log(num2); //123
        num1 = 'liujie'
        console.log(num1); //liujie
        console.log(num2); //123
    </script>

如果从一个变量(num1)向另一个变量(num2)复制基本数据类型的值,会在变量对象上创建一个新值,然后为将值赋给新分配的位置上。,两个变量相互独立,不互相影响。
在这里插入图片描述
3.2、 引用数据类型
下面这个,变量obj1保存了一个对象的新实例,然后将它的值复制到了obj2中,因为这两个变量都指向同一个对象,这样,当为obj2添加name属性时,可以通过obj1.name访问,下面图中展示了保存在变量对象中的变量及保存在堆中的对象之间的关系。两者互相影响了。

        var obj1 = new Object();
        obj2 = obj1;
        obj2.name = 'Niolas'
        console.log(obj2.name);
        console.log(obj1.name);

在这里插入图片描述

  • 4、检测数据类型
    4.1、typeof
    typeof能检测一个变量是否是基本数据类型,也就是说 String、Number、Boolean、Underfined。type一般用来检测基本数据类型,但是检测引用类型时该操作符用处不大。

有点不同的是,typeof null是Object,typeof null也是Object

 		console.log(typeof 1); //number
 		console.log(typeof '1'); //string
        console.log(typeof [1, 2, 3]); //object
        num = null
        console.log(typeof null); //object
        num1 = NaN
        console.log(typeof num1); // number
        num2 = true
        console.log(typeof num2); //boolean
        var num3 = new Object();
        console.log(typeof num3); //object
        var num3 = function() {

        }
        console.log(typeof num3); //function

4.2、instanceof
通常我们想知道某个值是什么类型的对象时,typeof不再适用。下面例子可以看出,在检测引用类型值和Object构造函数时,均返回true,但instanceof 基本数据类型时都返回false。

        console.log(1 instanceof Number); //f
        console.log('1'
            instanceof String); //f
      console.log([1, 2, 3] instanceof Object); //t
        num = null
        console.log(null instanceof Object); //false
        num1 = NaN
        console.log(num1 instanceof Number); //false
        num2 = true
        console.log(num2 instanceof Boolean); //f
        var num3 = new Object();
        console.log(num3 instanceof Object); //t
        var num3 = function() {

        }
        console.log(num3 instanceof Function); //t

http://www.niftyadmin.cn/n/1263299.html

相关文章

IT职业规划与行业分析

IT职业规划与行业分析 [Kerry Chen 2007-3-5] ——从本科时期&#xff0c;到研究生时期&#xff0c;再到工作&#xff0c;算起来&#xff0c;步入IT行业也有九个年头了。人要学会总结&#xff0c;要有反思调整。现在&#xff0c;应该稍微停下来&#xff0c;规划一下我的下一个九…

电商后台管理1-前端项目功能总结

最近刚把第一个项目做完&#xff0c;考虑到很多面试官都喜欢问项目&#xff0c;尤其是你项目最深刻的地方。我每次都没准备好&#xff0c;现在在此记录一下&#xff0c;以便后面尽快拾起来。本看一下几个主要功能&#xff1a; 1、登录功能&#xff0c;包含表单栏的信息预校验和…

电商后台管理2-主页布局(home.vue)

1、总体布局 home.vue中template进行布局&#xff0c;头部区域和页面主体区域。使用了element ui的el-container el-header el-aside el-menu el-submenu el-main这些组件&#xff0c;需要引入element ui并注册组件。 2、获取数据 首先通过接口数据获取菜单数据&#xff0c…

基本常识c#

一&#xff0c;注释语句/*注释语句包含在"反斜杠* "和" *反斜杠"中&#xff0c;或者两个反斜杠和换行符之中&#xff0c;或者三个反斜杠和换行符之中(可以被VS自动识别为文件注释以提取)要注意注释中的\&#xff0c;该续行符会把下一行连上来一起注释掉出错…

js 数组详细操作方法

在开发中&#xff0c;经常会遇到数组相关的操作&#xff0c;今天在这里整理一下&#xff0c;以便后面用到。 第一类&#xff1a;会改变原数组的方法集合 包括 ES5&#xff1a; a.pop()/ a.shift()/ a.push()/ a.unshift()/ a.reverse()/ a.splice()/ a.sort() ES6: a.copyWithi…

脆弱的windows Vista

今天换了一台计算机&#xff0c;上面装好了Home版的vista&#xff0c;我本来还想装一个Alcohol上去试一下&#xff0c;结果一下就死机了&#xff0c;唉&#xff0c;没办法&#xff0c;老老实实装 XP吧&#xff0c;不过界面确实比较好看。 转载于:https://www.cnblogs.com/ssbpr…

电商后台管理3-分类参数管理

商品的参数用于显示商品的固定的特征。 整体布局如下&#xff1a; 面包屑导航就不说了&#xff0c;主要是下面的级联选择器和添加参数的按钮&#xff0c;当选择商品的三级分类时&#xff0c;下面的卡片视图区域会对应出现动态参数和静态参数的面板 1、我们需要设置级联框的属…

.Net 中的反射(查看基本类型信息) - Part.2

反射概述 和Type类 1.反射的作用 简单来说&#xff0c;反射提供这样几个能力&#xff1a;1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata)&#xff1b;2、迟绑定(Late-Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)…