精华内容
下载资源
问答
  • javascript数据类型分两种: 1.基本数据类型(值类型) 2.复杂数据类型(引用类型) 3.值类型和引用类型的区别 4.检测数据类型的方法 一、基本数据类型(值类型) 1.字符串类型/String 【创建方法】 var str...

    javascript数据类型分两种:基本数据类型(值类型)、复杂数据类型(引用类型)

    【目录】
    一.基本数据类型(值类型)
    二.复杂数据类型(引用类型)
    三.值类型和引用类型的区别
    四.检测数据类型的方法

    一、基本数据类型(值类型)

    1.字符串类型/String
    【创建方法】
    var str=’abc’;

    2.数字类型/Number
    【创建方法】
    var num=123;

    3.布尔类型/Boolean
    【创建方法】
    var bool01=true;
    var bool02=false;

    4.Null
    【创建方法】
    var nu=null;

    5.Undefined
    【创建方法】
    var un;

    加注点:null和undefined是相等的,为什么相等了,当对象值为null或undefined的时候返回的类型为false,false即为0,true为1

    那么如何判断区分这两个类型呢?

    null == undefined这样的去判断返回的只是值的相等 (返回true)
    null === undefined这样的判断就是判断对象的值和类型都要相等(返回false)

    二、复杂数据类型(引用类型)

    1.对象类型/Object
    【创建方法】
    var obj01=new Object();
    var obj02={};
    function obj03(n){
    var obj=new Object();
    obj.name=n;
    return obj;
    }
    var a=obj03(‘创建方法03’);

    function Obj04(n){
    this.name=n;
    }
    var b=new Obj04((‘创建方法04’);

    2.数组类型/Array
    【创建方法】
    var arr01=[]; 创建数组的方法01
    var arr02=news Array(); 创建数组的方法02

    3.函数类型/Function
    【创建方法】
    //函数申明
    function fun01(n){
    return n;
    }

    //函数表达式
    var fun02=function(n){
    return n;
    }

    三、值类型和引用类型的区别

    值类型:值不会随着变化而变化(两个双胞胎不会发生完全相同的行为)
    var arr03=[1,2,3,4,5];
    var arr04=arr03; //[1,2,3,4,5]
    arr03[1]=9;
    console.log(arr04); //[1,9,3,4,5]

    引用类型区别:创建的对象会随着变化而变化(存在同一个内存中)
    var a=10;
    var b=a; //10
    a=20;
    Console.log(b); //10

    四、检测数据类型的方法

    typeof
    typeof是一个操作符,返回的值是一个字符串
    typeof检测基础数据类型的时候能返回相应的类型(null除外),也可以检测函数的类型,但是在检测对象的时候不能明确的指出对象的类型,因此返回的都将是一个object。

    例:检测基础数据类型的时候
    typeof ‘1’; //string
    typeof 1; //number
    typeof function (){}; //function

    例:检测对象的时候
    typeof {a:1,b:5} ;//object
    typeof [1,1,3] ;//object

    例:检测null的时候(检测null的时候返回的也是object,为什么null也会返回object呢,这是因为null在js中叫空对象指针,可以理解为是一个对象)

    instanceof
    instanceof是一个操作符,返回的值是一个布尔值
    Instanceof是专门检测引用数据类型,而不能检测基础数据类型

    var arr=[1,2,3];
    arr instanceof Array;//true

    var obj={};
    obj instanceof Object;//true

    constructor
    constructor这个属性是存在于构造函数的原型上的,指向到构造函数,对象可以通过__proto__在其所属类的原型上找到这个属性

    Object.prototype.toString.call();

    在Object基本类定义的这个toString()方法,是用来检测数据类型的;
    跟字符串、数字、布尔等原型上定义的toString()方法基本用法都是转换字符串的。

    console.log(Object.prototype.toString.call(1));//[object Number] console.log(Object.prototype.toString.call(’’));//[object String] console.log(Object.prototype.toString.call(true));//[object Boolean]
    console.log(Object.prototype.toString.call(null));//[object Null] console.log(Object.prototype.toString.call(undefined));//[object Undefined]
    console.log(Object.prototype.toString.call([]));//[object Array] console.log(Object.prototype.toString.call({}));//[object Object] console.log(Object.prototype.toString.call(/^$/));//[object RegExp] console.log(Object.prototype.toString.call((function() {})));//[object Function]

    展开全文
  • JavaScript的 7 种数据类型 JavaScript数据类型有7种 其中包括6种基本数据类型和1种复杂数据类型 基本数据类型 Boolean (布尔值) true or false String(字符串) 'hello,world' Number(数字) ...

    JavaScript的数据类型

    JavaScript 的数据类型分为两大类
    简单数据类型(基本数据类型),复杂数据类型(引用数据类型)

    简单数据类型
    • Boolean(布尔值)
    •  该类型只有两个值,true 或 false;
      
    • String(字符串)
    •  typeof  'hello,world'  //String
      
    • Number(数字)
    •  typeof   123   //Number
      
    • Undefined(未定义,变量未初始化)
    •  只有一个值,undefined     let a; console.log(a) //undefined;  
      
    • Null(对象类型的占位符, 人为赋值null)
    •  null类型 空对象指针 let a = null; typeof a // Object   
      
    • Symbol(唯一的, ES6 新增)
    •  let a = Symbol();let b = Symbol();  a == b // false
      
    复杂数据类型
    • Object(JS中对象是一组属性与方法的集合)
      • Object
      • Array (数组 [ ])
      • Date (时间类型)
      • Function(函数)
    展开全文
  • JS数据类型之基本数据类型

    万次阅读 多人点赞 2019-06-28 16:46:43
    1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型); 2.js常用的基本数据类型包括undefined、null、number、boolean、string; 3.js的引用数据类型也就是...

    一、数据类型简介:

    1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);

    2.js常用的基本数据类型包括undefined、null、number、boolean、string;

    3.js的引用数据类型也就是对象类型Object,比如:Object、array、function、data等;

    二、基本数据类型特点:

    1.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值;

    2.基本数据类型的值是不可变的,任何方法都无法改变一个基本数据类型的值,比如一个字符串:

      let name = 'zhangsan'
      name.substr()
      console.log(name) // 输出:zhangsan
      let age = 'firstblood'
      age.toUpperCase()
      console.log(age) // 输出:firstblood

    通过上面的例子,我们可以发现原来定义的变量name的值始终没有发生改变,而调用substr()和toUpperCase()方法后返回的是一个新的字符串,跟原来定义的变量name并没有什么关系。

    再看下面的代码:

      let name = 'zhangsan'
      name = 'lisi'
      console.log(name) // 输出:lisi

    上面的例子看来name的值好像“改变了”,这里的基础数据类型是string,也就是“zhagnsan”,这里的“zhangsan”是不可以改变的,name只是指向“zhagnsan”的一个指针,指针的指向不可以改变,所以下面的name = 'lisi',将name指向了“lisi”,这里的“lisi”也是不可以改变的。也就是说这里的改变只是“指针指向的改变”。

    3.基本数据类型不可以添加属性和方法:

      let user = 'zhangsan'
      user.age = 18
      user.method = function () {
        console.log('12345')
      }
      console.log(user.age) // 输出:undefined
      console.log(user.method) // 输出:undefined

    上面的代码可以看出,基本数据类型是不能添加属性和方法的,再次说明基本数据类型是不可变的。

    4.基本数据类型的赋值是简单的赋值(如果从一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把该值赋值到位新变量分配的位置上):

      let a = 18
      let b = a
      a++
      console.log(a) // 输出:19
      console.log(b) // 输出:18

    上面的代码,a中保存的值是18,当使用a的值来初始化b时,b中也保存了值18,但是b中的18和a中的18完全是独立的,b中的值只是a中值的一个副本,所以这两个变量可以参与任何操作而不会相互影响。

    5.基本数据类型的比较是值的比较:

      var a = '{}'
      var b = '{}'
      console.log(a === b) // 输出:true

    6.基本类型的值在内存中占据固定大小的空间,被保存在栈内存中。(从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本);

    假如有以下几个基本类型的变量:

      let name = 'zhangsan'
      let age = 18
      let weight = '60kg'

    他的存储结构如下图(栈区包括了变量的标识符和变量的值):

    三、基本数据类型详解:

    1.number类型

    ①number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后至少有一位数字)。

    浮点数会自动转换为整数,如下:

      let num = 1.00
      console.log(num) // 输出:1,自动转换为了整数

    ②浮点数的最高精度是17位,看下面的例子:

      let a = 0.1
      let b = 0.2
      console.log(a + b) // 输出:0.30000000000000004

    上面的例子,结果竟然不是0.3,至于其他变成语言,也会遇到这种情况(关于浮点数计算会产生误差问题,其他有些变成语言也会出现类似情况。)

    ③NaN:非数字类型,特点:涉及到任何关于NaN的操作,都会返回NaN,而且NaN不等于自身。如下:

      let name = 'lisi'
      console.log(name / 10) // 输出:NaN
      console.log(NaN === NaN) // 输出:false

    ④isNaN()函数用于判断是否是一个非数字类型,如果传入的参数是一个非数字类型,那么返回true,否则返回false;

    ⑤isNaN()函数传入一个参数,函数会先将参数转换为数值,如果参数类型为对象类型,会先调用对象的valueOf()方法,再确定该方法返回的值是否可以转换为数值类型,如果不能,再调用对象的toString()方法,再确定返回值;

    ⑦数值转化:

    Number(),转型函数,可以用于任何数据类型

    parseInt(),将值转换为整型,用的较多

    parseFloat(),将值转换为浮点型

    2.string类型

    ①字符串类型中的单双引号作用一样;

    ②字符串有length属性,可以取得字符串的长度:

      let str = 'Hello world'
      console.log(str.length) // 输出:11

    ③字符串的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,再用另一个包含新值得字符串区填充该字符串;

    ④字符串转换:

    String(),转型函数,适用于任何数据类型(null,undefined转换后为null和undefined)

    toString()方法可以把一个逻辑值转换为字符串,并返回结果(null、undefined没有toString()方法)

      let ab = 'zhangsan'
      let bc = null
      let cd = undefined
      console.log(ab.toString())  // 输出:zhangsan
      // console.log(bc.toString())  // error 报错
      // console.log(cd.toString())  // error 报错
      console.log(String(ab))  // 输出:zhangsan
      console.log(String(bc))  // 输出:null
      console.log(String(cd))  // 输出:undefined

    3.boolean类型

    ①这个类型只有两个值,true和false;

    ②Boolean(),转型函数,将某个值转换为Boolean类型

    4.null类型

    ①null类型被看做空对象指针,只有一个值,即null值,所以在用typeof操作符去检测null类型的值得时候,结果是object类型;

    ②如果你定义了一个变量,但是想在以后把这个对象当做一个对象来使用,最好将该对象初始化为null值

    5.undefined类型

    ①只有一个值,即undefined,如果声明了一个变量,但是未给变量初始化值,那么这个变量的值就是undefined:

      let name = 'zhangsan'
      let age
      console.log(name) // 输出:zhangsan
      console.log(age) // undefined,因为声明了age,但是没有给初始化值

    ②调用函数时,应该提供的参数没有提供,该参数等于undefined;

    ③对象没有赋值的属性,该属性的值为undefined;

    ④函数没有返回值,默认返回undefined。

     

     

     

    参考文章:

    https://mp.weixin.qq.com/s/YMpKnUUKPPIG6FD6CGzfTg  

    http://www.jb51.net/article/101341.htm

    展开全文
  • 老生常谈js数据类型

    2020-11-30 21:42:41
    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别: 基本数据类型是对值得引用,引用数据类型是对地址的引用; 基本数据类型存放在栈内存,栈内存提供了供JS代码执行的环境,引用...
  • 关于JS中的Null数据类型 文章目录javaScript系列一、Null的概述?1.1 范围1.2 注意 一、Null的概述? 1.1 范围 Null类型只有一值,那就是null 1.2 注意 typeof 运算符对null进行运算时结果是object alert...

    javaScript系列

    关于JS中的Null数据类型



    一、Null的概述?

    1.1 范围

    Null类型只有一个值,那就是null


    1.2 注意

    typeof 运算符对null进行运算时结果是object

    		   alert(typeof null); 
    
    展开全文
  • 让我们一起来看下js常见的数据类型和背后的隐式转换逻辑。 ES5中有5种简单的数据类型(也叫基本数据类型):number,string,boolean,null,undefined(null和undefined是两种特殊的基本数据类型,下面会讲到);还有一种...
  • 主要介绍了JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别,结合实例形式分析了JS基本数据类型、引用数据类型概念、用法,以及堆和栈的区别,需要的朋友可以参考下
  • JavaScript 数据类型

    2019-03-26 18:32:24
    JavaScript 数据类型 根据[ECMA-262]的定义,JavaScript共有七种数据类型: Undefined、Null、Boolean、String、Symbol、Number、Object。 注意:数组和函数都不是数据类型,他们是一种特殊的Object JavaScript是一...
  • JavaScript数据类型

    千次阅读 2020-11-10 11:18:16
    JavaScript数据类型1....JavaScript有6基本数据类型,1复杂数据类型。 基本数据类型:String 、Number、Boolean、Null、Undefined、 Symbol 复杂数据类型: Object 1. 基本数据类型 1.1 String(字符串) 字符
  • JavaScript数据类型详解

    2020-12-03 05:46:25
     JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符  介于JavaScript是...
  • js变量的数据类型是由js引擎根据=右边变量值的数据类型来判断的。JavaScript拥有动态类型,意味着相同的变量可用作不同的数据类型。 简单数据类型(基本数据类型) 数据类型 说明 默认值 Number 数字型包含 ...
  • 3.1 基本数据类型 1.字符串类型(string) :由unicode字符、数字、标点符号组成,在...方法名() 3.3其它有数据类型 函数: 1.javascript中的函数是一种数据类型,因此,可以被存储在变量、数组或对象中。 2 null:
  • JavaScript数据类型分为两类:原始类型和对象类型。原始类型包括数字、字符串和布尔值,其中有两特殊的原始值null和undefined,但它们不是数字、字符串和布尔值。除了原始类型之外,剩下的便是对象,对象是属性...
  • javascript数据类型详解

    2020-12-09 03:37:04
    一、六种数据类型 (弱类型数据) 1.基本数据类型(5种):Undefined、Null、Boolean、Number、String 2.引用数据类型(1种):Object 例如: Function Date Array … 在js中定义变量的时候无需指定类型。比如定义一...
  • JS 数据类型

    2020-09-18 23:33:35
    JavaScript 数据类型 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 引用数据类型:对象(Object)、数组(Array)、函数(Function)。 **注:**...
  • 本文从 javascript数据类型的简介开始谈起接着讲述了 javascript 的 6 种数据类型 分别为 Number Boolean String Null Undefined 和 Object 并给出了一 typeof 操作符 的示例这里分享给大家 1.数据类型是什么 ...
  • 主要介绍了JavaScript数据类型以及数据类型的转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • javascript数据类型

    2016-11-06 16:03:21
    先来一张图总结一下javascript数据类型 数字类型: 在js中,数字均用浮点数来表示,不区分整数和浮点数。
  • 虽然js在变量声明的时候无需指定数据类型,但是在赋值的时候,每数据还是有属于自己的数据类型。所以还是有了解的必要 一、undefined数据类型 1.1简单了解 Undefined类型只有一值,这值就是 undefined 当一...
  • js数据类型(基本数据类型 | 引用数据类型

    千次阅读 多人点赞 2020-08-06 16:46:45
    JS分两种数据类型: 基本数据类型:**Number、String、Boolean、Null、 Undefined、Symbol(ES6),**这些类型可以直接操作保存在变量中的实际值。 引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,...
  • JS教程JS数据类型

    2018-08-09 22:29:55
    JS教程JS数据类型 js数据类型03.html
  • JavaScript数据类型以及数据类型的转换基本数据类型字符串型数据数值型数据复合数据类型对象的概念日期对象全局对象数学对象字符串对象数组其他数据类型函数空值不确定型数据类型的转换隐式转换显示转换功能快捷键...
  • javaScript数据类型

    2020-04-21 20:46:57
    javaScript数据类型 数据类型就是字面量的类型,在js中一共有6种数据类型:stri 字符串、number 数值、Booolean 布尔值、Null空值、 Undifined未定义、object对象。 其中基本数据类型:string number boolean null ...
  • js数据类型以及四种检测方法

    千次阅读 多人点赞 2020-08-16 15:46:39
    js数据类型一共存在8种。 在es5中存在6种数据类型 undefined String Object Number Null Boolean ES6新增了一种数据类型 Symbol :这种类型的对象永不相等,即便创建的时候传入相同的值也不相等 主要用于解决属性...
  • js数据类型

    2020-08-31 17:06:38
    JavaScript一共有8数据类型: 7种基本数据类型: Undefined、Null、Boolean、Number、String、Symbol(es6新增,表示独一无二的值) 和 BigInt(es10新增); 1种引用数据类型 Object(Object本质上是由一组无序的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 722,255
精华内容 288,902
关键字:

8个数据类型js