数据类型和流程控制语句

2023-05-16

1.回顾


操作标签内容
        闭合标签
            标签.innerHTML   标签.innerText
       标签.innerHTML=值   标签.innerText=值
    表单标签
         标签.value
       标签.value = 值
操作标签属性
            标签.属性名  = 值
       className 特殊
操作标签样式(行间样式)
            标签.style.样式名   font-size fontSize  border-radius  borderRadius
      标签.style.样式名 = 值  设置到行间样式上
      
数据类型:6大数据类型(5种基本数据类型和一种特殊类型)
    基本数据类型
        number  数值类型  10 3.14 -10  0771  0xfff NaN(not a number 不是一个数)
      string  字符串类型  "" '你好'  字符串.length 字符串[下标] 字符串.charAt(下标)
                                                    字符串类型 碰见+ 拼接  10+5+"30" = "1530"
            boolean  布尔类型  true false
            null   空对象  有存储空间的
            undefined  未定义  没有存储空间 声明变量不赋值  var a;
     特殊: 复合数据类型  对象数据类型  引用数据类型
            object 对象类型  {}
                array  数组
        function   

2.数据类型转换

  • 数据类型转换分为两种

    • 显式转换(强制转换):通过js的方法,转换成自己想要的数据类型

    • 隐式转换:在js进行某些运算的时候 自动完成转换数据类型

2.1 强制转换

2.1.1 强制转换为number

  • Number(要转换的数据)

    • 作用:将数据转换成number类型,如果转换不了则是返回NaN


<script>
        // Number类型转换
        // 1.number类型
        var n1 = 10;
        console.log( Number(n1) );//10
        // 2.string类型转换
        var n2 = "10";
        console.log( Number(n2));//10
​
        var n3 = "10px";
        console.log(Number(n3));//NaN
​
        var n4 = "px10abc";
        console.log(Number(n4));//NaN
​
        var n5 = "";
        console.log(Number(n5));//0
​
        // 3.boolean类型
        var n6 = true;
        console.log(Number(n6));//true----1
        var n7 = false;
        console.log(Number(n7));//false----0
​
        // 4.undefined
        var n8 = undefined;
        console.log(Number(n8));//NaN
        // 5.null
        var n9 = null;
        console.log(Number(n9));//0 
​
        // 总结:Number可以转换的有:string类型(纯数字,""-0 "  "-0)  boolean(true-1 false-0) null(0)
    </script>  
  • parseInt(要转换的数据)

    • ==主要是针对字符串数据操作==

    • 作用:将数据转换成number类型,从左往右转换,遇到不能转换的或者是末尾结束,如果一开始都不能转换则是NaN 并且取整(舍弃小数)


        var n1 = "10.5";
        console.log(parseInt(n1));//10
        var n2 = "10.5px";
        console.log(parseInt(n2));//10
​
        var n3 = "px10.5";
        console.log(parseInt(n3));//NaN
​
        var n4 = "11px123";
        console.log(parseInt(n4));//11
​
        var n5 = undefined;
        console.log(parseInt(n5));  

  • parseFloat(要转换的数据)

    • ==主要针对字符串数据操作==

    • 作用:将数据转换成number类型,从左往右转换,遇到不能转换的或者是末尾结束,如果一开始都不能转换则是NaN 保留小数


 <script>
        // parseFloat: 将数据转换成number类型,从左往右转换,遇到不能转换的或者是末尾结束,如果一开始都不能转换则是NaN   保留小数 
​
        var n1 = "10.8";
        console.log(parseFloat(n1));//10.8
​
        var n2 = "10.8px";
        console.log(parseFloat(n2));//10.8
​
        var n3 = "px10.8";
        console.log(parseFloat(n3));//NaN
​
        var n4 = "11.8px1234";
        console.log(parseFloat(n4));//11.8
​
        var n5 = undefined;
        console.log(parseFloat(n5));//NaN
    </script>  

2.1.2 强制转换为string

  • String(要转换的数据)

    • 作用:将数据强制转换为string类型 直接在数据外面加""


 <script>
        // String():将数据强制转换为string类型    直接在数据外面加""
        var s1 = 10;
        console.log(String(s1));// "10"
​
        var s2 = null;
        console.log(String(s2));// "null"
​
        var s3 = undefined;
        console.log(String(s3)); //"undefined"
​
        var s4 = true;
        console.log(String(s4));// "true"
    </script>  
  • 要转换的数据.toString(num)

    • num表示转换num进制的字符串 不写默认是10进制


 <script>
        // toString
        var n1 = 10;
        console.log(n1.toString());//"10"
​
        var n2 = true;
        console.log(n2.toString());// "true"
​
        // undefined没有tostring方法
        var n3 = undefined
        // console.log(n3.toString());//报错
​
        var n4 = null
        // null 没有tostring方法
        console.log(n4.toString());//
    </script>  

2.1.3 强制转换为Boolean

  • Boolean() : 强制转换为Boolean类型 结果为true,false

    
        <script>
            // Boolean(要转换的数据)  将数据转换boolean类型  转换结果只有两种true和false
            // 1.number类型转换   非0即真(只要不是0  都是true)
            var b1 = 1;
            console.log(Boolean(b1));//true
            var b2 = 0;
            console.log(Boolean(b2));//false
    ​
            // 2.string类型转换    有值即为真
            var b3 = "中文wertyuewrty";
            console.log(Boolean(b3));//true
    ​
            var b4 = "";
            console.log(Boolean(b4));//false
    ​
            //3.undefined
            var b5 = undefined;
            console.log(Boolean(b5));//false
            // 4.null 
          var b6 = null;
            console.log(Boolean(b6));//false
    ​
    ​
            // 5.NaN
            var n7 = NaN;
            console.log(Boolean(n7));
    ​
            //总结:Boolean结果为false的有:0 null undefined "" NaN
        </script>  

2.2 小方法

2.2.1 toFixed

  • 要保留的数据.toFixed(n) 保留n位小数


<script>
        // toFixed(n)  保留n位小数  给number类型用的
        var n1 = 3.1415926;
        console.log(n1.toFixed(3));
​
        var n2 = "3.1415926";
        console.log(n2.toFixed(2));//报错
    </script>  

2.2.1 isNaN

  • isNaN(检测的数据): 检测数据是不是 不是一个数

  • ==判断之前会先用Number方法强制转换 再进行判断==


        // isNaN  检测数据是不是  不是一个数 
        // 判断之前会先用Number方法强制转换 再进行判断
        var n3 = 10;
        console.log(isNaN(n3));//n1不是一个数  false
​
        var n4 = "123"; // 先用Number方法转成 123
        console.log(isNaN(n4));//123不是一个数  false
​
                var n5 = "123你好";//Number类型转换是NaN
        console.log(isNaN(n5));//true  

3.运算符与表达式

3.1 运算符和表达式的概念


10 + 20  表达式
​
10 20 称为操作数
+  运算符  

  • 运算符: 连接一个以上的操作数中间的符号叫做运算符


算术运算符   + - * / % ++ --
赋值运算符  = += -= /= %=
逻辑运算符  && || !
三目运算符  条件 ? true执行的结果  : false执行的结果
比较运算符  > < >= <= ==  !=  ===  
  • 表达式:由操作数和运算符组成的式子就叫表达式


算术表达式   操作数和算术运算符组成
赋值表达式   操作数和赋值运算符组成    
逻辑表达式   操作数和逻辑表达式组成
三目表达式   操作数和三目表达式组成
比较表达式   操作数和比较运算符组成  

3.2 算术运算符


算术运算符:   +  -  *   /   %   ++    --  

    <script>
        // 算术运算符
        var a = 10 + 4
        console.log(a);//14
​
        var b = 10-4;
        console.log(b);//6
        
        console.log(10*4);//40
        console.log(10/4);//2.5
        console.log(11%4);//3  取余
        console.log(12%4);//0  
​
        // 1.求n的倍数  
        var n = 9;
        console.log(100%n == 0);//true 是9的倍数 false 不是9的倍数
​
        // 2.判断当前这个数是不是偶数 都是2的倍数
        console.log(11%2==0)//true  偶数  false 奇数
​
        // 3.精度缺失 在运算过程中 是先转换成二进制进行计算  在转换过程中会造成精度缺失
        console.log(0.1+0.2);//0.30000000000000004
        console.log(0.7+0.1);//0.7999999999999999
        console.log(0.1*0.7);//0.06999999999999999
​
        // 4.隐式转换 在运算过程中 数据自动进行数据类型的转换
        // 隐式转换的规律:都会转换number类型进行运算  
        console.log(100 * false);//0
        console.log(100 * "123");//12300
        console.log(100 * "123px");//NaN
​
        console.log(100 / true);//100
        console.log(100+null); //100 
        console.log("100"- 10);//90 
        
        // 特殊:+  字符串遇到+会拼接  除了字符串数据,其他的还是会隐式转换
        console.log(100 + "123");// "100123"
        console.log(100+true);// 101
    </script>  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据类型和流程控制语句 的相关文章

  • Windbg使用说明书

    Windbg使用说明书 Windbg使用说明书 简书 jianshu com 术语 缩略语 windbg windows平台下 xff0c 强大的用户态和内核态调试工具 dmp 内存映像文件 xff0c 一般是系统错误产生的文件 Pdb 程
  • Kube-OVN源码解析 | pod IP地址管理

    作者介绍 xff1a Kube OVN社区贡献者 Mr Li 作者说 xff1a 上文 kube ovn源码解析 xff08 一 xff09 kube ovn controller 中我们提到kube ovn controller组件有一个
  • kartoslam找bug之行

    文章目录 那么之前测试不好的解释有以下几点编写launch测试bug猜测 激光数据和MIT的不一样 xff0c MIT的激光原数据好 xff0c 我们的差 不跑karto只录制信息终于找到问题根源啦 又出问题拉 xff0c 出大问题 WAR
  • sqlyog复制所有列名

    sqlyog不像navicat可以选中所有列名直接复制 需要 gt 点击表 gt 信息 gt 文本 gt 按住alt然后选中 在idea中也一样 xff0c 先按住alt 从第一个属性前开始往下拉 xff0c 多行编辑 idea格式化快捷键
  • Ubuntu安装proxychains4

    Ubuntu安装proxychains4 安装配置 安装 通过apt进行安装 sudo apt install proxychains4 配置 对 etc proxychains4 conf文件进行修改 sudo gedit etc pro
  • 解决依赖无法下载 (http://dl.bintray.com/spark-packages/maven/commons-codec/commons-codec/maven-metadata.xml)

    问题 xff1a maven 打包时 xff0c 有个依赖无法下载 xff0c 提示是 Forbidden xff08 http dl bintray com spark packages maven commons codec commo
  • ADB常用命令及其用法大全

    前言 xff1a 本文主要记述ADB的常用命令 xff0c 关于ADB用法大全 xff0c 可参考文末链接 ADB简介 xff1a ADB xff0c 即 Android Debug Bridge xff0c 它是 Android 开发 测
  • GPU版本pytorch和tensorflow部署(cuda、cudnn)

    概述 部署前建议简单了解显卡 显卡驱动 cuda cudnn 部署GPU版本pytorch和tensorflow的可用流程如下 xff1a 当前软硬件环境 xff1a aarch64架构麒麟V10系统 xff0c 两块NVIDIA A100
  • python下载所需要的库时,下载速度太慢,这篇文章教你如何解决

    看到这篇文章的读者 xff0c 请往最后面看 xff0c 最近对这个文章有所更改 xff0c 标题中的内容在后半部分讲解 在为Pycharm配置opencv库的时候 xff0c 下载了很多次 xff0c 每次都被提示 requirement
  • Python实现判断所给数字是否是回文数

    输入一个数字 xff0c 判断这个数是否是回文数 xff1a 回文数的特征 xff1a 设x是一任意自然数 若将x的各位数字反向排列所得自然数x1 xff0c 与x进行比较 xff0c 如果相等 xff0c 则称x为一回文数 xff0c 反
  • 利用Matplotlib绘图时,无法显示中文字体的解决方案

    我在利用Pycharm中的matplotlib库进行绘图的时候 xff0c 出现了一个问题 xff0c 当我将所绘的图的横 xff0c 纵坐标 xff0c 希望加上一个中文描述的时候 xff0c 比如 xff0c 39 横坐标 39 xff
  • 绘制图像灰度直方图——将图像的灰度分布可视化方法总结

    今天在实现图像阈值分割的时候 xff0c 需要找到能将背景与物体区分开的灰度阈值 xff0c 因为处理到的图像比较简单 xff0c 它的直方图具有一个十分明显的特点 xff0c 也就是它的直方图以双峰一谷的形式呈现 xff0c 将物体与背景
  • Linux7.x修改与添加ssh服务远程连接端口

    1 修改ssh服务端口 ssh远程连接默认端口是22 如图 xff1a vim etc ssh sshd config 修改默认端口 xff0c 只需要把Port 22前的 去掉 xff0c 并且修改为要更换的端口 xff0c 即可 修改好
  • 创建新图像时,数据类型的设置,以及溢出问题

    在介绍下面的bug时 xff0c 我想让读者首先思考一个问题 xff0c 在opencv中数字图中灰度值的数据类型是np int还是np uint8 在利用opencv进行图像处理时 xff0c 用numpy zeros创建了一个用于存储将
  • 如何在Python中以两个间隔之一随机生成随机数

    参考链接 如何在Python中以两个间隔之一随机生成随机数 问答 腾讯云开发者社区 腾讯云 tencent com 将numpy数组转化为list 如何在python中将numpy数组转换为list 编程语言 亿速云 yisu com
  • 绘图十分有用的博客

    Python 绘图 xff0c 我只用 Matplotlib xff08 二 xff09 简书 jianshu com
  • VS2022中一步实现C++调用python程序文件

    首先直接上干货 xff0c 我是借鉴了C 43 43 调用python文件 xff08 包含第三方库 xff09 知乎 zhihu com 与 13条消息 2 VS2017调用Python函数 vs2017 python3 11 糊面包包专
  • 邓凡平WIFI学习笔记5: P2P

    P2P Device xff1a 它是P2P架构中角色的实体 xff0c 可把它当做一个Wi Fi设备 P2P Group Owner xff1a Group Owner xff08 GO xff09 是一种角色 xff0c 其作用类似于I
  • 关于function declared implicitly的正确解法以及extern的用法

    一直以来以为function declared implicitly这个问题都是很容易的解决的 xff0c 所以没有在意 xff0c 没想到昨天查了下 xff0c 网上竟然有好多种说法是不合适的 xff0c 所以解答下 首先这句话是函数没有

随机推荐

  • maven-replacer-plugin 静态资源版本号解决方案(css/js等)

    本文介绍如何使用 maven 的 com google code maven replacer plugin 插件来自动添加版本号 xff0c 防止浏览器缓存 1 解决方案 解决问题 xff1a 防止浏览器缓存 xff0c 修改静态文件 x
  • CentOS7下配置tomcat开机自启

    1 创建tomcat自动启动命令脚本 vi etc init d tomcat 2 写以下代码 注意修改JAVA HOME和CATALINA HOME CATALINA BASE字段 匹配自己的安装路径 span class hljs sh
  • 2020年最新“MySQL数据库高频面试题解析+Mysql问题分析思维导图”

    前言 xff1a 本文涵盖100道MySQL数据库高频面试题解析 43 Mysql问题分析思维导图 xff1b 没有那么多废话 xff0c 文章有点干 xff0c 除了干货就是干货 满是诚意 xff0c 建议收藏 MySQL 100道高频面
  • CentOS7 安装Nextcloud17

    CentOS7 安装Nextcloud17 nextcloud是继承owncloud后的开源项目 xff0c 并且跨各大平台 xff0c 提供安卓 Mac window IOS等平台应用 安装参考 xff1a docs nextcloud
  • Invalid <param> tag: Cannot load command parameter [robot_description]:

    在roslaunch运行的时候出现的问题解决 xff1a Traceback most recent call last File opt ros kinetic lib xacro xacro line 33 in xacro main
  • 树莓派3B+ 软件源更改

    树莓派3B 43 软件源更改 由于树莓派软件官方源在国外 xff0c 所以连接不稳定 xff0c 且速度慢 xff0c 所以安装初次进入系统后 xff0c 一定要修改一下软件源 国内软件源有很多 xff0c 在这里 xff0c 我推荐自己常
  • 树莓派3B+ 开启超频

    树莓派3B 43 开启超频 正如我们所知 xff0c 树莓派CPU默认频率是1200MHz xff0c 在一般状态下处于600MHz xff0c 对于这个CPU性能如何 xff0c 我就不多说了 xff0c 由于树莓派到现在都还没有官方64
  • 树莓派3B+ 人脸识别(OpenCV)

    树莓派3B 43 人脸识别 OpenCV 相信大家都看了前面的OpenCV安装和人脸检测教程 xff0c 已经跃跃欲试 xff0c 想要进行人脸识别了 xff0c 现在我们正式进入重头戏 人脸识别 的教程 注意 xff1a 该教程面向pyt
  • Window 设置远程桌面(兼容各平台)

    Window 设置远程桌面 xff08 兼容各平台 xff09 对于window远程桌面 xff0c 相信大家都不陌生 xff0c 它是一个非常好用的且稳定的工具 xff0c 远比第三方提供工具好用 但是 xff0c 有很多朋友在开启远程桌
  • 树莓派3B+ 远程下载服务器(Aria2)

    树莓派3B 43 远程下载服务器 xff08 Aria2 xff09 近来发现之前的部署的迅雷远程下载Xware在下载BT文件时会自动掉线 xff0c 鉴于迅雷不在对该固件的维护 xff0c 所以只能另辟蹊径 xff0c 现在比较主流的下载
  • 物理机下安装 VMware ESXi 6.7

    物理机下安装 VMware ESXi 6 7 ESXI虚拟平台是VMware出品的一个强大平台 xff0c 它可以直接安装在物理机上 xff0c 从而充分利用物理奖性能 xff0c 虚拟多个系统出来 ESXI是一个带WEB管理后台的软件 x
  • VMware ESXi 6.7 安装LEDE

    VMware ESXi 6 7 安装LEDE LEDE是Linux嵌入式开发环境项目 xff0c 在众多路由器固件中 xff0c LEDE可玩性最高的 xff0c 但要真的玩得转 xff0c 还是要一定的耐心 很多小伙伴一般都喜欢 爱快做主
  • vncserver 看不到桌面解决办法

    转载 xff1a http www th7 cn system lin 201308 43197 shtml ubuntu13 04安装vncserver后只显示桌面 不显示菜单栏解决 0 背景介绍 xff1a 一般的server操作系统是
  • Mininet教程(七)Mininet Walkthrough

    文章目录 Mininet教程 xff08 七 xff09 Mininet Walkthrough日常使用指令显示mininet开启选项开启Wireshark主机与路由器之间交互测试主机之间连通性运行一个简单的web服务器和客户端清理缓存 高
  • html的基本知识

    1 常用HTML标签 其他 br标签 xff1a 强制换行 lt br gt lt br gt 应用场景 用于强行换行 gt 不参与分类 xff0c 不能设置其他样式 1 xff09 行级标记 文本格式化标签 span标签 无语义标签 xf
  • 用VC++ 6.0 写贪吃蛇界面

    贪吃蛇界面 第一次写博客 xff0c 有点小紧张 xff0c 也有点激动 不多说了emmmm xff0c 自己跟着网上的视频 xff0c 用C语言做了一个贪吃蛇程序 xff0c 为了学年设计 欢迎界面的部分编译 emmmm xff0c 因为
  • 一、固定定位

    元素的位置相对于浏览器窗口是固定位置 即使窗口是滚动的它也不会移动 xff1a 特性 特性 xff1a 1 元素脱离正常文档流 xff0c 不占位 也脱离文本流 xff0c 全脱 2 始终相对于浏览器窗口四个角为原点进行固定定位的 3 不会
  • 定位元素的层级顺序

    层级 语法 z index n 标签添加定位之后 xff0c 可以覆盖在页面的其他标签上 后面加载的定位元素默认会覆盖在先加载的定位元素上 z index属性 xff1a 设置定位元素的叠放次序 特性 xff1a 1 z index的属性值
  • CSS 透明

    透明度属性 1 rgba r g b a 颜色模式 兼容性 xff1a IE6 7 8下不兼容 xff0c IE9 43 支持 使用 xff1a background color属性 color属性 border color属性等中设置透明
  • 数据类型和流程控制语句

    1 回顾 操作标签内容 闭合标签 标签 innerHTML 标签 innerText 标签 innerHTML 61 值 标签 innerText 61 值 表单标签 标签 value 标签 value 61 值 操作标签属性 标签 属性名