精华内容
下载资源
问答
  • 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]

    展开全文
  • 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-12-06 01:12:41
    JS不同数据类型相加 一、字符串(String)和数字(Number)相加 1.数字在前,字符串在后 (从左到右计算,先计算数字表达式,再把计算结果转化为字符串和后面的字符串相加); var result1 = 5 + 5 + "happy"; //10happy ...

    JS不同数据类型相加

    一、字符串(String)和数字(Number)相加

    1.数字在前,字符串在后

    (从左到右计算,先计算数字表达式,再把计算结果转化为字符串和后面的字符串相加);

    var result1 = 5 + 5 + "happy"; //10happy
    console.log(result1);
    
    2.字符串在前,数字在后(数字转化为字符串相加)
     var result2 = "happy" + 5 + 5; //happy55
     console.log(result2);
    
    3.空文本(文本可能有多个空格)加数字,有多少个空格就显示多少个空格
        	// 空文本,没有空格
            var result3 = "" + 5 + 5; //55
            console.log(result3);
            // 一个空格
            var result4 = " " + 5 + 5; //' 55' (有一个空格)
            console.log(result4);
            // 多个空格
            var result5 = "         " + 5 + 5; //'         55'(空格全部显示)
            console.log(result5);
    

    二、数字(Number)和布尔值(Boolean)相加

    数字和布尔值相加,布尔值true转化为1,布尔值false转化为0,与数字相加;

    1.数字在前,布尔值在后
            var result6 = 5 + true; //6
            console.log(result6);
    
    2.布尔值在前,数字在后
            var result7 = false + 5; //5
            console.log(result7);
    

    三、字符串(String)与布尔值(Boolean)相加

    布尔值转换为字符串相加;

            var result8 = "happy" + true; //happytrue
            console.log(result8);
            var result9 = false + "happy"; //falsehappy
            console.log(result9);
    

    四、NULL和 数字/字符串 相加

    1.NULL和数字相加(NULL转化为0,与数字相加)
            var result10 = null + 5; //5
            console.log(result10);
    
    2.NULL和字符串相加(NULL转化为字符串,与字符串相加)
            var result10 = "happy" + null; //happynull
            console.log(result10);
    

    五、NULL和Boolean相加

    NULL转化为0,
    Boolean中的true转化为1,
    Boolean中的false转化为0;

            var result11 = null + true; //1
            console.log(result11);
            var result12 = null + false; //0
            console.log(result12);
    

    六、undefined 与其余数据类型相加

    undefined 只与字符串进行累加时有效(undefined 视为字符串"undefined"处理),其他情况皆返回 NaN;

    1.undefined与字符串相加
            var result13 = undefined + "happy";
            console.log(result13); //undefinedhappy
    
    2.undefined与其余数据类型相加,均返回NaN;
            var result14 = undefined + 5;
            console.log(result14); //NaN
            var result15 = undefined + true;
            console.log(result15); //NaN
            var result16 = undefined + false;
            console.log(result16); //NaN
            var result17 = undefined + null;
            console.log(result17); //NaN
    

    七、求模运算

    求模 % 运算,运算结果只取决于被除数的正负;
    如果 % 左边的操作数是正数,则模除的结果为正数或零;
    如果 % 左边的操作数是负数,则模除的结果为负数或零。

            -12 % -8 = -4; 
            12 % -8 =  4;
            -12 % 8 = -4;
    

    完整代码:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>不同数据类型的相加运算</title>
    </head>
    
    <body>
        <script>
            // 一、字符串(String)和数字(Number)相加
            /* 
             1.数字在前,字符串在后
             (从左到右计算,先计算数字表达式,再把计算结果转化为字符串和后面的字符串相加)
            */
            var result1 = 5 + 5 + "happy"; //10happy
            console.log(result1);
            // 2.字符串在前,数字在后(数字转化为字符串相加)
            var result2 = "happy" + 5 + 5; //happy55
            console.log(result2);
            // 3.空文本(文本可能有多个空格)加数字,有多少个空格就显示多少个空格
            // 空文本,没有空格
            var result3 = "" + 5 + 5; //55
            console.log(result3);
            // 一个空格
            var result4 = " " + 5 + 5; //' 55' (有一个空格)
            console.log(result4);
            // 多个空格
            var result5 = "         " + 5 + 5; //'         55'(空格全部显示)
            console.log(result5);
    
            /*
            二、数字(Number)和布尔值(Boolean)相加
            数字和布尔值相加,布尔值true转化为1,布尔值false转化为0,与数字相加
            */
            // 1.数字在前,布尔值在后
            var result6 = 5 + true; //6
            console.log(result6);
            // 2.布尔值在前,数字在后
            var result7 = false + 5; //5
            console.log(result7);
    
            /* 
            三、字符串(String)与布尔值(Boolean)相加
            布尔值转换为字符串相加
            */
            var result8 = "happy" + true; //happytrue
            console.log(result8);
            var result9 = false + "happy"; //falsehappy
            console.log(result9);
    
            // 四、NULL和 数字/字符串 相加
            // 1.NULL和数字相加(NULL转化为0,与数字相加)
            var result10 = null + 5; //5
            console.log(result10);
            // 2.NULL和字符串相加(NULL转化为字符串,与字符串相加)
            var result10 = "happy" + null; //happynull
            console.log(result10);
    
            /* 五、NULL和Boolean相加
            NULL转化为0,
            Boolean中的true转化为1,
            Boolean中的false转化为0
            */
            var result11 = null + true; //1
            console.log(result11);
            var result12 = null + false; //0
            console.log(result12);
    
            // 六、undefined 与其余数据类型相加
            // undefined 只与字符串进行累加时有效(undefined 视为字符串"undefined"处理),其他情况皆返回 NaN;
            // 1.undefined与字符串相加
            var result13 = undefined + "happy";
            console.log(result13); //undefinedhappy
            // 2.undefined与其余数据类型相加,均返回NaN;
            var result14 = undefined + 5;
            console.log(result14); //NaN
            var result15 = undefined + true;
            console.log(result15); //NaN
            var result16 = undefined + false;
            console.log(result16); //NaN
            var result17 = undefined + null;
            console.log(result17); //NaN
    
            // 七、求模运算
            /* 求模 % 运算,运算结果只取决于被除数的正负。
             如果 % 左边的操作数是正数,则模除的结果为正数或零;
             如果 % 左边的操作数是负数,则模除的结果为负数或零。
            */
            /*
            -12 % -8 = -4; 
            12 % -8 =  4;
            -12 % 8 = -4;
            */
        </script>
    </body>
    
    </html>
    

    执行效果图:
    在这里插入图片描述
    欢迎小伙伴一起交流探讨,欢饮大佬指导!加油!

    展开全文
  • 为什么需要数据类型 ...JavaScript拥有动态类型,意味着相同的变量可用作不同数据类型。 简单数据类型(基本数据类型) 数据类型 说明 默认值 Number 数字型包含 整型值和浮点值型 如:21、2.1 0 Boolean

    为什么需要数据类型

    在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,更充分利用存储空间,于是定义了不同的数据类型。

    JavaScript是一种弱类型语言或者说是动态语言
    

    js变量的数据类型是由js引擎根据=右边变量值的数据类型来判断的。JavaScript拥有动态类型,意味着相同的变量可用作不同的数据类型。

    简单数据类型(基本数据类型)

    数据类型说明默认值
    Number数字型包含 整型值和浮点值型 如:21、2.10
    Boolean布尔值类型 如true、false 等价于 1和0false
    String字符串类型 如”张三“ 字符串都带引号“”
    Undefinedvar a; 声明变量但未赋值undefined
    Nullvar a=null; 声明变量a为空值null

    isNan();用来判断是否为数字类型
    typeof();用来判断数据类型

    • typeof(null); //object
    展开全文
  • JavaScript.不同数据类型转换 http://www.w3school.com.cn/js/jsref_obj_global.asp
  • 关于JS中的Null数据类型 文章目录javaScript系列一、Null的概述?1.1 范围1.2 注意 一、Null的概述? 1.1 范围 Null类型只有一值,那就是null 1.2 注意 typeof 运算符对null进行运算时结果是object alert...
  • js不同数据类型之间的运算、比较的结果[基础数据类型之间的转换]不同类型之间的加法运算不同类型之间的比较的转换== 和 ===> [基础数据类型之间的转换] 在js中有5种基础类型数据:string、number、boolean、...
  • 虽然js在变量声明的时候无需指定数据类型,但是在赋值的时候,每数据还是有属于自己的数据类型。所以还是有了解的必要 一、undefined数据类型 1.1简单了解 Undefined类型只有一值,这值就是 undefined 当一...
  • JS数据类型

    2017-12-15 15:41:32
    JavaScript 中有 5不同数据类型:string number boolean object function 3 种不同的对象类型:Object Date Array 2不包含任何值的数据类型:null undefined typeof 操作符 实例 返回类型 typeof ...
  • 老生常谈js数据类型

    2020-11-30 21:42:41
    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别: 基本数据类型是对值得引用,引用数据类型是对地址的引用; 基本数据类型存放在栈内存,栈内存提供了供JS代码执行的环境,引用...
  • 主要介绍了JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别,结合实例形式分析了JS基本数据类型、引用数据类型概念、用法,以及堆和栈的区别,需要的朋友可以参考下
  • ES5中有5种简单的数据类型(也叫基本数据类型):number,string,boolean,null,undefined(null和undefined是两种特殊的基本数据类型,下面会讲到);还有一种复杂数据类型——Object(函数是一种特殊的对象,后面会讲到...
  • JavaScript种基本数据类型:undefined,null,Boolean,Number,String,Bigint,Symbol。JavaScript的变量是松散型变量,松散型指的是变量可以存任何类型数据,所谓变量只是仅仅是存值的占位符而已。数据类型动态改变...
  • JavaScript数据类型分为两类:原始类型和对象类型。原始类型包括数字、字符串和布尔值,其中有两特殊的原始值null和undefined,但它们不是数字、字符串和布尔值。除了原始类型之外,剩下的便是对象,对象是属性...
  • JavaScript数据类型

    千次阅读 2020-11-10 11:18:16
    JavaScript数据类型1. 基本数据类型1.1 String(字符串)1.2 Number(数值类型)1.3 Boolean(布尔值类型)1.4 Null(空类型)1.5 Undefined1.6 Symbol2. 复杂数据类型2.1 Object JavaScript有6基本数据类型,1复杂数据...
  • 主要介绍了JavaScript数据类型以及数据类型的转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。...
  • 文章目录js数据类型划分方式为 原始数据类型(基础数据类型)和 引用数据类型两种类型的区别1.存储位置不同2.传值方式不同3.两种数据类型在实参和形参中的区别 js数据类型划分方式为 原始数据类型(基础数据类型...
  • 主要介绍了Javascript中的数据类型详解,需要的朋友可以参考下
  • 由于自己是野生程序员,在刚开始学习程序设计的时候没有在意内存这些基础知识...JavaScript中将数据类型分为基本数据类型和引用数据类型,它们其中有一区别就是存储的位置不同。 基本数据类型 我们都知道JavaScript
  • JavaScript数据类型以及数据类型的转换基本数据类型字符串型数据数值型数据复合数据类型对象的概念日期对象全局对象数学对象字符串对象数组其他数据类型函数空值不确定型数据类型的转换隐式转换显示转换功能快捷键...
  • javascript数据类型详解

    2020-12-09 03:37:04
    1.基本数据类型(5种):Undefined、Null、Boolean、Number、String 2.引用数据类型(1种):Object 例如: Function Date Array … 在js中定义变量的时候无需指定类型。比如定义一变量 var num = 16, 而此时我们也...
  • JavaScript数据类型详解

    2020-12-03 05:46:25
     JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符  介于JavaScript是...
  • js数据类型(基本数据类型 | 引用数据类型

    千次阅读 多人点赞 2020-08-06 16:46:45
    JS分两种数据类型: 基本数据类型:**Number、String、Boolean、Null、 Undefined、Symbol(ES6),**这些类型可以直接操作保存在变量中的实际值。 引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,...
  • 3.1 基本数据类型 1.字符串类型(string) :由unicode字符、数字、标点符号组成,在...方法名() 3.3其它有数据类型 函数: 1.javascript中的函数是一种数据类型,因此,可以被存储在变量、数组或对象中。 2 null:
  • 数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于...
  • JavaScript数据类型 JavaScript是一种弱类型语言,在定义变量时不需要指定类型,一变量可以存储任何类型的值。不过这并不等于JavaScript不区分数据类型,只不过在运算时,JavaScript能自动转换数据类型。但是在...
  • js中有六种数据类型,包括种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型(Object)。 前面说到js中变量是松散类型的,因此有时候我们需要检测变量的数据类型。 typeof操作符可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 720,789
精华内容 288,315
关键字:

js五个不同数据类型