关于字符串方法和运算的一些笔记
JavaScript == 与 === 区别
1、对于 string、number 等基础类型,== 和 === 是有区别的
- a)不同类型间比较,== 之比较 "转化成同一类型后的值" 看 "值" 是否相等,=== 如果类型不同,其结果就是不等。
- b)同类型比较,直接进行 "值" 比较,两者结果一样。
2、对于 Array,Object 等高级类型,== 和 === 是没有区别的
进行 "指针地址" 比较
3、基础类型与高级类型,== 和 === 是有区别的
- a)对于 ==,将高级转化为基础类型,进行 "值" 比较
- b)因为类型不同,=== 结果为 false
4、!= 为 == 的非运算,!== 为 === 的非运算
var num=1;
var str="1";
var test=1;
test == num //true 相同类型 相同值
test === num //true 相同类型 相同值
test !== num //false test与num类型相同,其值也相同, 非运算肯定是false
num == str //true 把str转换为数字,检查其是否相等。
num != str //false == 的 非运算
num === str //false 类型不同,直接返回false
num !== str //true num 与 str类型不同 意味着其两者不等 非运算自然是true啦
关于引号
双引号" " 中用单引号 ' ' 可以不用加反斜杠,例如:
var x="my name 'is' xxx" // 此处不需要加反斜杠
双引号" " 中用双引号 " " 需要加反斜杠,例如:
var x="my name \"is\" xxx" // 此处需要在两个上引号前各加一个加反斜杠
单引号 ' ' 中用双引号" " 不需要加反斜杠,当然加了也可以,例如:
var x1 ='my name "is" xxx' // 此处不需要加反斜杠(推荐)
var x2 ='my name \"is\" xxx' // 添加反斜杠效果也一样(不推荐)
JavaScript字符串方法
var x=" SunSunPig ";
y=x.charAt(2);//返回指定索引位置的字符 n
y = x.charCodeAt(2); //返回指定索引位置字符的 Unicode 值 110
y = x.concat(y, y); //连接两个或多个字符串,返回连接后的字符串 SunSunPig110110
y = x.indexOf('n'); // 返回字符串中检索指定字符第一次出现的位置 2, 索引从0开始
y=x.lastIndexOf('n');// 返回字符串中检索指定字符最后一次出现的位置 5
y = x.slice();//提取字符串的片断,并在新的字符串中返回被提取的部分
y = x.split('u');// S,nS,nPig 把字符串分割为子字符串数组
y = x.substr(2); // nSunPig 从起始索引号提取字符串中指定数目的字符
y = x.substring(2,4) // nS,[2,3] 提取字符串中两个指定的索引号之间的字符
y = x.toLocaleLowerCase(); // sunsunpig,小写
y = x.toLocaleUpperCase(); // SUNSUNPIG,大写
y=x.toLowerCase();//把字符串转换为小写 sunsunpig
y=x.toUpperCase();
y=x.toString();//转成String
y=x.trim();//去除首尾空格
y = x.valueOf();// 返回某个字符串对象的原始值
alert(y);
关于一些字符串的计算
//用于字符串的+运算符
txt1="hello,";
txt2="my blog name is sunsunpig";
txt3=txt1+txt2;
document.getElementById("demo").innerHTML=txt3;
//对字符串和数字进行加法运算,数字转成字符串
var x=5+5;
var y="5"+5;
var z="Hello"+5;
console.log(x); //10
console.log(y); //55
console.log(z); //Hello5
//数字与布尔值相加,布尔值false转成0,true转成1
var one="hello";
var two=true;
var three=one+two;
console.log(three); //14
//字符串与布尔值相加,布尔值转化为字符串
var one=13;
var two=true;
var three=one+two;
console.log(three); //hellotrue
//数字与 null(空值) 相加,null 转化为数字 0:
var car=null+3+4; // 结果为 7
//字符串与 null(空值) 相加,null 转化为字符串,前后顺序影响结果:
var one=null+"a"; // 结果为 nulla
空文本 + 数字得到的运算结果都是把数字转成字符串,无论文本有多少个空格。但是空格会计入长度,html会压缩空格, 所以直观上显示的是字符串,没有显示空格。
var x=5+5;
var result1=""+5;
var result2=" "+5;
var result3=" "+5;
console.log(x);
console.log(result1); // 得到的结果是"5"
console.log(result2); // 得到的结果是" 5"
console.log(result3); // 得到的结果是" 5"
//取模运算的结果符号只与左边值的符号有关:
var x = 7 % 3; // 结果为 1
var y = 7 % (-3); // 结果为 1
var z = (-7) % 3; // 结果为 -1
浙公网安备 33010602011771号