JS中常用的数学运算

  • 除了加法外,都是数学运算,如果遇到非数字类型,先基于Number此案转换为数字类型,再运算
  • 一些转换
    true 1
    false 0
    null 0
    ‘’ 0
    [] 0 //Number([])是数字0,因为[]是对象,先要转化为字符串‘’,然后转换为数字0;但是如果在+中,在转换为‘’后就变成字符串拼接了,到不了数字的运算
    undefined NaN
    symbol不能转
 console.log(10 - null) //=>10console.log(3 * undefined) //=>NaNconsole.log(3 + undefined) //=>NaNconsole.log("3" + undefined) //=>"3undefined"console.log(true - "12") //=>11
  • 加法既有数学运算,也有字符串拼接(只要加号任意一边出现字符串,则变为字符串拼接),此时对象还是要转换为字符串后拼接

对象转化为数字(先转化为字符串,再转化为数字)

console.log(3 - "2px")//=> 3- NaN = NaN
console.log(3 + "3px")//=> "33px"
console.log(1 + "1")//=> "11"
console.log(1 + {})//=> "1[object Object]"// 在把{}转化为数字的过程中,先把他转化为字符串”[object Object]“,然后加号一边出现了字符串,此时变为字符串拼接
console.log(1 + [])//=>"1"(字符串“1”) []是对象,先把[]转换为字符串“”,此时一边出现字符串,然后变成了字符串拼接
console.log([10] + true)//=>"10true"[10]是对象,先把[10]转换为字符串“10”,然后加号一边出现了字符串,此时变为字符串拼接
console.log(true + [10])//=>"true10"
  • NaN

字符串拼接练习

let a = 100 + ture + 21.2 + null + undefined + "Tencent" + [] + null + 9 + false
/** 100 + true => 101* 101 + 21.2 => 122.2* 122.2 + null => 122.2 + 0 => 122.2* 122.2 + undefined => 122.2 + NaN => NaN* NaN + "Tencent" => "NaNTencent" 字符串拼接,此后都是字符串拼接* "NaNTencent" + [] = "NaNTencent" + "" => "NaNTencent" * "NaNTencent" + null => "NaNTencentnull"* "NaNTencentnull" + 9 = "NaNTencentnull" + "9" => "NaNTencentnull9"* "NaNTencentnull9" + false = "NaNTencentnull9" + "false" = "NaNTencentnull9false"*/
//==============
let a = 10 + null + true + [] + undefined + 'abc' + null + [] + 10 + false;
/** 10 + null -> 10 + 0 -> 10* 10 + true -> 10 + 1 -> 11* 11 + [] -> 11 + '' -> '11'  空数组变为数字,先要经历变为空字符串,遇到字符串,啥都别想了,直接变为字符串拼接 * '11' + undefined -> '11undefined'* ...* '11undefinedabcnull10false'*/

JavaScript中字符串拼接相关推荐

  1. JavaScript中字符串连接/拼接的四种方式

    JavaScript中连接字符串的方式有4种,分别是使用加号运算符连接.使用${}配合反引号连接.使用concat()函数连接.使用join()函数连接. 1. 使用加号运算符 示例代码如下: let ...

  2. java 循环拼接字符串用分号隔开_Java 8中字符串拼接新姿势:StringJoiner

    在为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接一文中,我们介绍了几种Java中字符串拼接的方式,以及优缺点.其中还有一个重要的拼接方式我没有介绍,那就是Java 8中 ...

  3. Java 8中字符串拼接新姿势:StringJoiner

    在为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接一文中,我们介绍了几种Java中字符串拼接的方式,以及优缺点.其中还有一个重要的拼接方式我没有介绍,那就是Java 8中 ...

  4. JavaScript中字符串数组赋值失败,不是每个字符串,却是字符。

    我的处女作<Canvas系列教程>在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作. 教程介绍.教程目录等能在README里查阅. 传送门:https: ...

  5. delphi中字符串拼接_Delphi中的字符串类型(Delphi适用于初学者)

    delphi中字符串拼接 As with any programming language, in Delphi, variables are placeholders used to store v ...

  6. JavaScript中字符串与Unicode编码的互相转换

    JavaScript中字符串与Unicode编码的互相转换 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际 ...

  7. java sql拼接字符串_SQL中字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

  8. 前端开发:JS中字符串拼接的总结

    前言 在前端开发过程中,关于字符串拼接或者连接是非常常用的知识点,尤其是在处理数据之后进行页面渲染.虽然关于字符串的拼接不是什么难的知识点,但是由于它比较常用,而且也比较重要,所以本篇博文就来详细的介 ...

  9. MySQL、SQL Server中字符串拼接

    一.MySQL中字符串拼接 1.使用加号"+"实现 在Java.C#等编程语言中字符串的拼接可以通过加号"+"来实现, 在MySQL中也可以使用加号" ...

最新文章

  1. 如何查看dede版本信息
  2. 药品查询APP开发流程(七)--开发—yao.js
  3. Java三大特性: 封装、继承、多态
  4. 体验最火的敏捷-SCRUM!(网络直播课程 免费)
  5. Spring Boot 核心知识点总结,值得收藏!
  6. cf1453B. Suffix Operations
  7. java printwriter实例_PrintWriter做过滤流+FileWriter案例分析
  8. Python元组、数组、列表的区别
  9. oracle 11 到 10 提示nologging,Oracle11g 卸载教程图解
  10. 【并查集】Union Find
  11. mysql 密码忘记
  12. ENVI入门系列教程---一、数据预处理---4.1 遥感图像正射校正
  13. UNIX编程艺术 UNIX哲学
  14. 前后端分离的跨域请求问题解决
  15. java font好看的字体_二十款漂亮的CSS字体样式
  16. android /data/system/dropbox,Android dropbox日志浅谈
  17. 怎么用ai做出适量插画_8个步骤,快速绘制矢量插画
  18. 【Linux】粘包问题
  19. 市场调研报告-全球与中国地球物理数据市场现状及未来发展趋势
  20. 四.结构体性数组在内存的表现形式

热门文章

  1. 2014华为测试面试整理
  2. 【golang字符画】实现代码中打印好看的图案
  3. python之禅中文原文_python之禅 pdf
  4. 获取小程序appID
  5. 公众号设置关键字自动回复图文
  6. Oracle Golden Gate - 概念和机制(OGG)
  7. 淘宝/天猫、1688等41个电商平台API接口
  8. 设计模式之(十二)享元模式(Flyweight)
  9. Linux设置终端超时时间
  10. ant-design-vue 表单验证和 validator 自定义表单验证