首页 > 其他分享 >JS基础-数据类型

JS基础-数据类型

时间:2023-09-06 09:22:05浏览次数:38  
标签:console log 数据类型 indexA 基础 JS var str 字符串

JS 作为弱类型的编程语言, 在声明变量时,统一使用 varconst、或者let关键字。但是每个变量都有一个隐式的数据类型。

数据类型检测

使用 typeof 关键字可以检测数据类型。

<script>
			// 检测数字类型
      console.log(typeof(3));
</script>

Number 数字类型

  • 整形、浮点型在内的所有数字,都是数字类型。
typeof 5
typeof 15.1
  • 浮点数如果整数部分是0,可以省略。
.3
typeof .3
  • 数字可以使用科学计数法表示。
2e4 // 20000
typeof 2e4;

2e-4; //0.0002
typeof 2e-4

NaN

NaN 代表运算结果不是一个数字。

  • 特殊的数值型类型, 表示不是一个数字,但是此值的类型却是一个数值类型。

// 输出Number
typeof NaN
  • 在数学运算中,若数字类型的运算不能得到数字,其结果往往都是NaN。
// 输出 NaN
1/Boolean
  • NaN 不自等 ,即NaN不等于NaN。

// 输出 false
NaN == NaN 

字符串类型

由引号包裹的(可以是单引号也可是双引号)若干个字符组成的集合就是字符串。字符串通常表示一段文字。

特性

    • 加号可以拼接多个字符串。

      <script>
        var a = 'hello';
        var b = ' workd';
        console.log(a + b);
      </script>
      
  • 模板字符串,用反引号表示。可以嵌入变量,在运行时会被解析替换。
var a = 'halou';
// 输出 heihe halou world
console.log(`heihe ${a} world`)
  • 空字符串, 引号当中没有任何值。
console.log('');
  • 字符串属性 length ,表示字符串的长度。
var a = 'woshi';
console.log(a.length);

常用方法

  • charAt()

    获取指定位置字符,传入字符串索引位置,找到对应字符;传入超过字符串长度的索引返回空字符串。

<script>
var a = 'hello';
console.log(a.charAt(1));
</script>
  • substring(indexA, indexB)

    提取子串, 如果 indexA > indexB , 则取子串 [indexA, indexB);

    如果参数 indexB > indexA ,则取子串 [indedB, indexA) ;

    如果省略第二个参数,表示截取到字符串结尾。

<script>
    var str = 'halouworld';

    // 输出 al
    console.log(str.substring(1, 3));
    // 输出 al
    console.log(str.substring(3, 1));

    // 从下标位置3开始截取到结尾
    console.log(str.substring(3));

</script>
  • substr(index, length)

    提取子串, 从第一个参数index索引位置开始, 长度为 length 的子串;

    length 参数可以省略, 表示到字符串结尾;

    index 可以为负数 ,表示倒数位置(字符串右边第一个值的下标为 -1 ,依次为 -1 , -2 ….)。

Untitled.png

```
<script>
  var str = 'wearehuman';
  // 输出weare
  console.log(str.substr(0, 5));
  // 输出 wearehuman
  console.log(str.substr(0));

  // 输出 hum , index 虽然可以为负数, 但是还是字符串的左边向右崛起
  console.log(str.substr(-5, 3));
</script>
```
  • slice(indexA, indexB)

    提取子串(切片), [indexA, indexB) ;

    indexB 可以省略, 表示到字符串结尾;

    indexA 参数也可以为负数, 类似 substr 函数;

    参数indexA 必须小于 indexB。

    <script>
      var str = 'wearehuman';
      // ea
      console.log(str.slice(1, 3));
      // earehuman
      console.log(str.slice(1));
      // a
      console.log(str.slice(-2, -1));
    
      // 当 indexA 小于 indexB 时, 输出空字符
      console.log(str.slice(2, 1));
    
    </script>
    
  • toUppderCase

    将字符串变为大写。

    <script>
      var str = 'wearehuman';
      // 输出 WEAREHMMAN
      console.log(str.toLocaleUpperCase());
    </script>
    
  • toLowerCase

    将字符转成小写字母。

    <script>
        var str = 'weareHMman';
    		// 输出 wearehuman
        console.log(str.toLowerCase());
    </script>
    

常用函数总结

方法 功能
charAt() 获取指定位置字符,传入字符串索引位置,找到字符;传入超过字符串长度的索引返回空字符串。
substring(indexA,indexB) 提取子串, 如果 indexA > indexB , 则取子串 [indexA, indexB);如果参数 indexB > indexA ,则取子串 [indedB, indexA) ;如果省略第二个参数,表示截取到字符串结尾。
substr(a,b) 提取子串, 从第一个参数index索引位置开始, 长度为 length 子串;length 参数可以省略, 表示到字符串结尾;index 可以为负数 ,表示倒数位置(字符串右边第一个值的下标为 -1 ,依次为 -1 , -2 ….)。
slice(a, b) 提取子串(切片), [indexA, indexB) ;indexB 可以省略, 表示到字符串结尾;indexA 参数也可以为负数, 类似 substr 函数;参数indexA 必须小于 indexB
toUppderCase() 将字符串变为大写
toLowerCase() 将字符串变为小写
indexOf() 检索字符串首次出现的位置,如果检索不到, 返回-1

布尔类型

布尔值只有两个 ,true(真)和false(假)

<script>
  var bool = (10 > 20);
  // 输出 true
  console.log(bool);
  // 输出 boolean
  console.log(typeof bool);
</script>

undefined

主打一个未定义, 一个没有经过初始化的变量,默认值是 undefined 。默认值 undefined  指向的数据类型 也叫 undefined  。

<script>
    var undi ;
    // 输出 undefined
    console.log(undi);
    // 输出 undefined
    console.log(typeof undi);

</script>

null

表示被置空的对象, 如果一个对象在经过运算后, 没有得到任何值, 那么就可以赋值为null。

不过 null 用 typeof 检测 得到 的却是 object 类型 。null 既是一种数据类型,但它的类型却是object 不知道在搞啥子

<script>
      var emp = null ;
      // 输出 null
      console.log(emp);
      // 输出 类型object
      console.log(typeof emp);

  </script>

总结

在js中还有很多复杂的类型, 例如 function, object , 这些预计会留到后面写。

以下是本文中涉及的数据类型。

数据类型 备注 typeof 检测 举例
number 数字 number var a = 1
string 字符串 string var b = ‘aaa’
boolean 布尔 boolean var a = true
undefined 未定义 undefined var bool = undefined
null 被置空的对象 null var emp = null

标签:console,log,数据类型,indexA,基础,JS,var,str,字符串
From: https://www.cnblogs.com/haloujava/p/17681421.html

相关文章

  • 【JS】JS笔记
    JS笔记初识JS浏览器执行JS简介浏览器分为:渲染引擎:用来解析HTML和CSS,俗称内核。比如chrome的blinkJS引擎:也成为JS解释器,用来读取JS代码并对其进行后台处理。比如chrome的V8JS的组成ECMAScript:JavaScript语法,规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵循......
  • PostgreSQL JSON
    准备CREATETABLEorders( idserialNOTNULLPRIMARYKEY, infojsonNOTNULL);INSERTINTOorders(info)VALUES('{"customer":"LilyBush","items":{"product":"Diaper","qty":24}}'......
  • Cannot deserialize value of type `com.xx.xxxx` from Array value (token `JsonToke
    点击提交按钮的时候,直接服务器端报上面的错,意思是json不能解析。因为程序中用到了递归,就是自己引用了自己(实体类)。原因:实体类中children定义的是对象的形式,但是前端定义的是数组[]的形式。解决:前端改成对象形式,{},这样前后端一致就可以正常传值了。  上面children赋值了......
  • C#入门之基础知识
    基本结构一个C#程序主要包括以下部分:命名空间声明(Namespacedeclaration)一个classClass方法Class属性一个Main方法语句(Statements)&表达式(Expressions)注释对比于java语言,c#可以说非常相似java的package相似于c#的命名空间java的类和c#的类一样,并且对于一个c#......
  • 文件上传基础学习
    文件上传基础学习一、基础知识1、上传功能存在漏洞通常,Web应用程序允许用户上传文件,例如图像、文档或其他类型的文件,以便后续处理或共享。漏洞出现在服务器未正确验证或限制上传文件的类型、大小和位置时。2、不正确的输入验证:文件上传漏洞通常是由于不正确的输入验证引起的......
  • 数论基础
    莫比乌斯反演定义先讲讲莫比乌斯函数的定义:\(\mu(x)=\begin{cases}1&n=1\\0&n含有平方因子\\(-1)^k&k为n的本质不同质因子个数\end{cases}\)我们对\(n\)进行质因数分解,\(n=\prod_{i=1}^kp_i^{c_i}\),其中\(p_i\)是质因子,而\(c_i\ge1\).\(n=1\),\(\mu(n)=......
  • PCL 点云基础
    PCL点云基础: 一、概念1、点云的结构公共字段    PCL包含一个重要的数据结构,被设计成一个模板类,把点的类型当做模板类的参数。    header:pcl::PCLHeader记录了点云的获取时间    points:std::vector<PointT,...>储存所有点的容器    width:指定......
  • 1 C++基础问题总结
    C++基础1C和C++有什么区别?C++是面向对象,C面向过程C++引入new/delete运算符,取代了C中的malloc/free库函数;C++有引用的概念,C没有C++有类的概念,C没有C++有函数重载,C没有2a和&a有什么区别?比如inta[10];int(*p)[10]=&aa是数组名,是数组首元素地址,+1表示地址值加上一......
  • 【坑】VUE中动态数据使用 wow.js 没效果的问题
    一般来说正常使用都是在mounted函数中mounted(){this.$nextTick(()=>{this.$wow.init()})}这样如果是死数据是可以正常出现效果的但是如果是请求回来的数据是没有效果的需要改一下生成时机  此处的newList即为请求的数据watch:{newsl......
  • Node.js 使用 officecrypto-tool 读取加密的 Excel (xls, xlsx) 和 Word( docx)文档
    Node.js使用officecrypto-tool读取加密的Excel(xls,xlsx)和Word(docx)文档,还支持xlsx和docx文件的加密(具体使用看文档)。暂时不支持doc文件的解密传送门:officecrypto-tool读取加密的Excel示例一:xlsx-populate//只支持xlsx,xlsx-populate自带了解密功能,/......