关于字符串方法和运算的一些笔记

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
 

posted on 2018-10-28 23:14  一拳一个日日居  阅读(516)  评论(0)    收藏  举报

导航