JS之数据类型


undefinedundefined

JS数据类型

大伙好久不见啊,最近笔者整理 JS笔记,先持续更新中!祝大家生活愉快 _ !

typeof操作符#

JS 的数据类型;通过 typeof来检测,得到的数据类型有:

Copy
string number boolean null undefined object

Object 是一切数据的基础
ECMAScript 中有5种简单的数据类型,也称为基本数据类型
String , Number , Boolean , null , undefined

一种复杂数据类型,也称为引用数据类型

Object

typeof操作符实例:

Copy
console.log(typeof qq); //undefined,这个变量没有定义,但是不会报错;qq此时是变量; console.log(typeof (222)); //number,是一个数字; typeof是操作符而不是方法,所以后面可以加()也可以不加; console.log(typeof "222"); //string,是一个字符串 console.log(typeof false); //boolean,是一个布尔值 console.log(typeof {}); //object, 是一个对象 console.log(typeof null); //object,是一个对象,在javascript里,null是一个空指针; console.log(typeof function(){}); //function,是一个方法,是“可调用对象”,也是属于object类型的;js里万物皆对象

注意:typeof null 的结果是 object!

从技术上来说,函数在 ECMAScript 中是对象,不是一种数据类型。但是函数拥有一些特殊属性,因此通过 typeof 操作符来区分也是有必要的!

Copy
function fn(b,c){ console.log(b); console.log(c); } console.log(fn.length) // 2

typeof 的返回值是一个字符串类型的数据#

Copy
console.log(typeof typeof qq); //string

变量和数据之间的关系#

JavaScript是一种动态类型语言(dynamically typed language)。这意味着你在声明变量时可以不必指定数据类型,而数据类型会在代码执行时会根据需要自动转换。

其实,我们可以理解为,变量是没有类型的,只有值才有,变量可以随时持有任何类型的值。

这在强类型的高级语言中看起来不可思议,暗示 Java=!

总结#

  1. Number (数字类型)

    包含:正数、负数、零、小数、以及特殊的NaN;

    123;
    0.456;
    1.2345e3;
    -99;
    NaN;
    Infinity;

    注意

    Copy
    NaN == NaN // false typeof NaN // number // isNaN方法检测一个值是否为有效的数字 isNaN("abn") // true isNaN("12") // false
    Copy
    // paresInt/parseFloat: 将其他的数据类型转换为数字类型。 parseInt("23px") // 23; // parseFloat 可以在 parseInt 的基础上转化小数
  2. String

    字符串数据类型,在js中用""或者''包起来的都是字符串;字符串由字符组成,字符的个数就是字符串的长度,每一个字符的位置都可以通过索引来表示;

    Copy
    var str = 'abcd'; str[0] // 'a' str.substring(0,2); // 'ab'
  3. Boolean

    JavaScript把nullundefined0NaN和空字符串视为false,其他值一概视为true

    true
    false

  • 位运算

    true && true

    !true

  • 比较运算符

    2 > 5;
    7==7;
    false == 0;
    false === 0;

    NaN不能直接比较
    isNaN(NaN)

  • 浮点数比较

    Copy
    Math.abs(1/3-(1-2/3)) < 0.0000001;
  1. null 和 undefined
    一般用 null

  2. Object(对象)

    对象中有几种常见的形式;

    Copy
    {}是对象 []是数组 /^$/是正则...

    js中规定一个对象的属性名是不可重复的(这句话一定要记住,处理很多事务的时候,经常会用到对象的属性来进行操作;)

    Copy
    var person = { name: 'Bob', age: 20, tags: ['js','web','mobile'], city: 'Beijing' }

    友情链接

posted @   Mikejiawei  阅读(109)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
CONTENTS
点击右上角即可分享
微信分享提示