js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用

一、机制

JavaScript中,加号不仅表示相加还表示字符串连接

当加号两边存在字符串时,加号代表连接,实际上是将两侧都转为了字符串,如

"1" + 1 = "11"

而当加号两侧都是数字的时候,则表示两个数相加,如

1 + 1 = 2

这是JavaScript中的隐式类型转换

txtName.innerHTML是字符串

所以当想要两个数字相加,保险起见:用下面方法:

parseInt($("#txtNum1").val()) + parseInt($("#txtNum2").val());

二、js数字相加出现多位小数问题

1.这是因为Javascript的数字类型是以64位的IEEE 754格式存储的。

2.解决方法把相加的结果做下处理

function toDecimal(x) {
var val = Number(x)
if (!isNaN(parseFloat(val))) {
val = val.toFixed(2);
}
return val;
}

三、JS函数传递字符串,单引号双引号使用问题

1、原则:一般情况两者使用效果是一样的。但是两者间嵌套时要注意:单引号里面要用双引号 双引号里面要用单引号

onclick=‘huiful(\"" + name + "\")‘//这里使用了单引号嵌套双引号,且函数调用参数为字符串,用\"转义字符实现

时间: 2024-10-14 05:28:29

js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用的相关文章

js中 单引号 双引号 参数问题 单引号 替换成 \' 双引号 替换成 \" 等

.replace(/\'/g, "\\'")    ->  ' 替换成  \' .replace(/\"/g, "\\\"")  ->  " 替换成\" 注:适用于 onclick='Test("数字双音\"")'  这种写法 .replace(/\"/g, """)  ->" 替换成 " 注:适用于onclick=&q

php 单引号 双引号 ,php字符串/ hmtl / 数据库显示/ 及php的几个转化函数

* 以单引号为定界符的php字符串,支持两个转义\'和\\* 以双引号为定界符的php字符串,支持下列转义(\'会直接输出\' ,也会转义 \\):    \n 换行(LF 或 ASCII 字符 0x0A(10))     \r 回车(CR 或 ASCII 字符 0x0D(13))     \t 水平制表符(HT 或 ASCII 字符 0x09(9))     \\ 反斜线     \$ 美元符号     \" 双引号     \[0-7]{1,3}               此正则表达式序列

JavaScript 字符串单引号双引号相互替换

双引号替换成单引号 let params = {"type":"survey_1","option1":"6","option2":"Yes","option3":"6","option4":"how"} let str = JSON.stringify(params).replace(/"/g,

正则限制输入为数字,且最多输入2位小数 之 新写法

原本小程序需要一个限制文本框输入为数字,且最多保留2位小数的效果,网上找到的例子感觉有点繁琐,就自己写了一个. 代码很简单,主要借助了正则的组匹配特性进行处理: //检查输入文本,限制只能为数字并且数字最多带2位小数 checkInputText: function(text){ var reg = /^(\.*)(\d+)(\.?)(\d{0,2}).*$/g; if (reg.test(text)) { //正则匹配通过,提取有效文本 text = text.replace(reg, '$2

js限制金额输入框(最高精度为保留6位小数)

js限制金额输入框(最高精度为 保留6位小数) 说明:在一个项目中有限制6位小数的限制.在本次测试的过程中发现还存在一些bug 1.如可以长按键盘不放可输入多个小数点 2.通过长按可输入'1...234.' 这次在解决了这个bug过程中也稍带学习了一下正则表达式,以前觉得正则表达式只是用来做字段的教研,但是现在发现用来匹配字符,并且结合各个语言提供的api能做不少事儿,这里把代码贴了出来供大家参考. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 T

js判断字符串是否是数字

今天做项目的时候,遇到一个问题,是需要判断一个字符串是否是数字.我的方法是用Nmuber(str)==NaN(还试了Nmuber(str)=='NaN'),发现是错的,不管我的str是什么东西,Nmuber(str)==NaN都是false.后来,才发现,这样是不对的.正确的做法是isNaN(str),当isNaN(str)是false时,表示是str是数字,为true时,表示str不是数字.(注意,当str是null或""时,值是false)

关于js生成的字符串带有单双引号嵌套的问题

今天突然遇到个这么个问题,在使用js拼接字符串生成节点的过程中遇到了双引号里嵌套单引号的问题,当时在写js的时候没在意,只看语法没错也就没在意,结果在插入节点后就出大问题了,正常的我想创建的节点是 即双引号里嵌套单引号,在用js生成时这里的单双引号问题就出可大问题,他会使得bb当成变量,怎么解决呢, 我们只需将嵌套在里边的单引号给替换下来, 单引号:&apos; 双引号:" 这里要注意引号不要忘记了,这样就解决了单双引号的嵌套问题

js将字符串转变成数字

方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 一些示例如下: parseInt("1234blue"); //returns 1234parseInt("0xA"); //returns 10parse

JS判断字符串是否为数字

字符串的比较从从首位开始,比较的是编码.常用编码如下: 0 -- 9 : 48 -- 57A -- Z : 65 -- 90a -- z : 97 --122 //判断方法: function isNum(str){ var isNumber = true; var len = str.length; if(len === 0){ isNumber = false; } for(var i = 0; i < len; i++){ if(str.charAt(i) < 48 &&