0


一文弄清JavaScript数据类型

文章目录


前言

每一门语言都有数据类型,数据类型涵盖了语言可以定义哪些变量


一、数据类型概述

  1. 与其他编程语言一样,js数据类型也包括数值型、字符串、布尔型、数组等等,不一样的点在于
  2. js中数值型包括整形、浮点型,空缺值NaN也是number型,可以定义某种类型的变量,然后用
  3. 作某任务,某事件。

1.js中的数据类型

  1. JavaScript 数据类型
  2. JavaScript 中有 6 种不同的数据类型:
  3. string 【字符串】
  4. number 【数值型:包括浮点型、整型】
  5. boolean 【布尔型】
  6. object 【对象,new出来的】
  7. function 【函数类型】
  8. symbol 【标志:作为键可以用于创建集合】
  9. 2 种对象类型:
  10. Date 【操作时间用的对象】
  11. Array 【数组对象】
  12. 2 个不包含任何值的数据类型:
  13. null 【空值】
  14. undefined 【使用未定义的变量,那么该变量是undefined

2.typeof检测数据类型

  1. <!--
  2. typeof可以检测变量的类型
  3. typeof "John" // 返回 string
  4. typeof 3.14 // 返回 number
  5. typeof NaN // 返回 number
  6. typeof false // 返回 boolean
  7. typeof [1,2,3,4] // 返回 object
  8. typeof {name:'John', age:34} // 返回 object
  9. typeof new Date() // 返回 object
  10. typeof function () {} // 返回 function
  11. typeof myCar // 返回 undefined (如果 myCar 没有声明)
  12. typeof null // 返回 object
  13. NaN 的数据类型是 number
  14. 数组(Array)的数据类型是 object
  15. 日期(Date)的数据类型为 object
  16. null 的数据类型是 object
  17. 未定义变量的数据类型为 undefined
  18. 整数、小数、类型都是number
  19. -->

3.constructor检测数据类型

  1. <!--
  2. constructor属性检测变量类型
  3. 可以结合toString indexOf函数判断具体的数据类型
  4. "John".constructor // 返回函数 String() { [native code] }
  5. (3.14).constructor // 返回函数 Number() { [native code] }
  6. false.constructor // 返回函数 Boolean() { [native code] }
  7. [1,2,3,4].constructor // 返回函数 Array() { [native code] }
  8. {name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
  9. new Date().constructor // 返回函数 Date() { [native code] }
  10. function () {}.constructor // 返回函数 Function(){ [native code] }
  11. -->

二、数据类型的自动转换

  1. <!--
  2. 自动类型转换
  3. 数字可以通过String 函数直接转换成字符串
  4. toExponential() 把对象的值转换为指数计数法。
  5. toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。
  6. toPrecision() 把数字格式化为指定的长度。
  7. 字符串转换为数字
  8. 【如果是非数值字符串会出错,空字符串、空值会转换为0】
  9. Number('str')//str
  10. Number(" ")//0
  11. Number("")//0
  12. Number("99 88")//返回NaN
  13. parseFloat() 解析一个字符串,并返回一个浮点数。
  14. parseInt() 解析一个字符串,并返回一个整数。
  15. 自动类型转换
  16. 5 + null // 返回 5 null 转换为 0
  17. "5" + null // 返回"5null" null 转换为 "null"
  18. "5" + 1 // 返回 "51" 1 转换为 "1"
  19. "5" - 1 // 返回 4 "5" 转换为 5 【这点尤为独特】
  20. 当你尝试输出一个对象或一个变量时 JavaScript 会自
  21. 动调用变量的 toString() 方法:
  22. 自动类型转换成bool时,如果变量是对象则bool值为true
  23. 若变量是空引用或者没有值,或者值为0则为false
  24. -->

三、变量的定义

  1. 在一中已经介绍了数据类型有哪几种,现在就使用那几种类型进行变量的定义
  2. js中严格遵循字母的大小写、并且只能对数据类型相同的进行计算,不能对不
  3. 同类型的数据进行计算

1.字面量

  1. 字面量(literal)用于表达源代码中一个固定值的表示法(notation),
  2. 整数、浮点数以及字符串等等都是字面量。
  3. js中的字面量有数字、字符串、数组、对象、函数

函数作为字面量使用doument获取

  1. <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><!-- js中的对象是由属相与方法组成的数据 --></head><body><h2>这是我得信息</h2><pid="demo1"></p><pid="demo2"></p><script>var demox ={
  2. name:"张三",
  3. age:"28",demo:function(){returnthis.name +" "+this.age;}}// 使用函数名加()时会返回函数对应的返回值
  4. document.getElementById("demo1").innerHTML=demox.demo()// 使用函数名不加()时会返回函数的定义【得益于函数闭包的支持】
  5. document.getElementById("demo2").innerHTML=demox.demo
  6. </script></body></html>

2.定义变量

①使用var声明

  1. 直接声明赋值
  2. var q;
  3. q=10;
  4. 声明新的变量时,可以使用new声明他的类型
  5. var k=new String;
  6. var k1=new Number;
  7. 可以一次声明多个变量
  8. var a=10,
  9. b=1,
  10. c=2;
  11. 对象的声明
  12. var user={
  13. name:"张三",
  14. age:"19",
  15. sex:"男",
  16. id:"888"
  17. }

②不使用var直接声明

  1. w=10;

③两者区别

使用方法区别

  1. 变量的声明 var 变量名
  2. 对没有声明的变量赋值,该变量将自动转化为window的一个属性,可以使用delete删除掉
  3. 使用var声明的变量赋值后没法删除

变量的作用域

  1. 函数内部使用var声明的变量只能在函数内部使用(生命周期伴随函数开始与结束)
  2. 函数外使用var声明的变量是全局变量,在整个页面内都可以使用
  3. 函数内没有用var声明的变量也可以在全局访问到,是window变量,js
  4. 声明的变量均会自动转化为windows变量

总结

js的数据类型较为简单,需要注意的是字符串的自动类型转换、函数可以作为字面量使用、使用var定义变量与不使用的区别。


本文转载自: https://blog.csdn.net/apple_51931783/article/details/122762871
版权归原作者 酷尔。 所有, 如有侵权,请联系我们删除。

“一文弄清JavaScript数据类型”的评论:

还没有评论