js原始数据类型+数据的强制转化+字符串的方法
1. js原始数据类型
1 | number | 数值类型 | 包括整点和浮点数 |
---|---|---|---|
2 | boolean | 布尔类型 | 只有true和false两个值,通常用于逻辑判断 |
3 | string | 字符串类型 | 字符串变量必须使用引号括起来,引号可以是单引号也可以是双引号 |
4 | undefined | 未知类型 | 专门用来确定一个已经创建但是没有初值的变量 |
5 | null | 空类型 | 用来表达某个变量的值为空 |
js数据类型分为
原始数据类型:(number,boolean,string,undefined,null)
对象数据类型:object(其中可被执行的对象叫函数和方法)
原始数据类型是指拥有原始值的数据,原始值是指没有属性或方法的值
原始值是硬编码的,一成不变的,比如x=3.14,我们可以改变x的值,但是无法改变3.14的值
值 | 类型 | 注释 |
---|---|---|
3.14 | number | 3.14始终是3.14 |
“hello” | string | “hello”始终是“hello” |
true | boolean | true始终是true |
false | boolean | false始终是false |
null | object(null) | object(null)始终是null |
undefined | undefined | undefined 始终是undefined |
- js里面字符串变量必须使用引号括起来,引号可以是单引号也可以是双引号
var a="abc";
var b='abc';
console.log(a,typeof a);//abc string
console.log(b,typeof b);//abc string
若字符串内容有单引号,双引号,反斜杠可以用“\”转义字符进行转换
var a="his name is \"Bill\"";
var b="\'这是一个单引号";
var c="\\这是一个反斜杠";
document.write(a+"</br>",b+"</br>",c+"</br>");
表示字符串里的内容时,根据情况单双引号交替使用
var e="he is called 'bill'";
var f='he is called "Bill"';
var g="it's my book";
document.write(e+"</br>"+f+"</br>"+g);
2.js从左到右计算表达式,不同的次序会产生不同的结果
var p1=document.getElementById("demo1");
var p2=document.getElementById("demo2");
var a=5+6+"abc";
p1.innerHTML=a;//11abc
console.log(typeof a,typeof p1);//string object(对象是包含变量的变量)
var b="结果是:"+5+6;
p2.innerHTML=b;//结果是:56
console.log(typeof a,typeof p2);string object
3.若声明了变量而未赋值,则值为undefined,变量的类型typeof返回的也是undefined
var a1 = 1;
console.log(typeof a1);//number
var a2 = "abc";
console.log(typeof a2);//string
var a3 = true;
console.log(typeof a3);//boolen
var a4 = null;
console.log(a4,typeof a4);//null object
var a5;
console.log(a5,typeof a5);//undefined undefined
var a6 = function () {
}
console.log(typeof a6);//function
4.undefined与null值的区别:值相等,但是类型不相等
var c;
var d=null;
console.log(c == d);//true
console.log(c === d);//false
2. 数据的强制转化
1,引用类型(string类型)转化为值类型(number)
var a=3;
var b="abc";
var c="3.1415";
console.log(a,typeof a);//3 number
console.log(b, typeof b);//abc string
console.log(c,typeof c);//3.1415 string
console.log(parseInt(b),typeof parseInt(b));//NaN number
console.log(parseInt(c),parseFloat(c),typeof parseFloat(c));//3 3.1415 mumber
NaN即非数值(not a number)。表示本来要返回数值的操作数未返回数值的情况,这样就不会抛出错误了。
2.值类型转化为引用类型
var a=3;
console.log(a.toString());//3
var d= a.toString();
console.log(d);//3
3. 操作字符串的方法
1,拼接 concat
var a="ab";
var b="cd";
console.log(a.concat(b));
2.索引
indexof (“”,)要找的字符,开始找的位置(可省略,省略默认从第0位开始找)
lastindexof(“”,) :(返回指定文本在字符串中出现的最后一位的索引)
要找的字符,开始找的位置
如果未找到文本,indexof()和lastindexof()均返回-1
search()与index()相同,但是无法设置第二个参数
charat() 返回指定位置的字符串
charcodeat()返回指定位置字符串的ASCLL码值
fromcharcodeat()通过ASCLL码值返回指定的字符
var c="abecdefgh";
console.log(c.indexOf("e"));//2
console.log(c.indexOf("e",3));//5
console.log(c.IndexOf("e",5));//-1
console.log(c.lastIndexOf("e",4));//2
console.log(c.charAt(3));//返回指定位置的字符串
console.log(c.charCodeAt(3));//返回当前位的Ascll码值(code代码,编码)
console.log(String.fromCharCode(123));//通过ascll码值返回相应字符
3.截取
substr(start,length)
substring(start,end)
slice(star,end)
均对原字符串无影响
var d="abcdefghijk";
console.log(d.substr(1,3));// bcd start length
console.log(d.substring(1,3));// bc start end
console.log(d.slice(1,3));// bc 与substring相同
4.替换
.replace(“”,“”)
var d="abcdefghijk";
var e= d.replace("c","3");
console.log(e);//ab3defghijk
5.转化为数组
.split(“”)
var d="abcdefghijk";
console.log(d.split(""));
var f="ab,cdef,ghij,k";
console.log(f.split(","));
6.大小写转化
.toUpperCase() 转为大写
.toLowerCase() 转为小写
var g="qnsRaAkxW";
console.log(g.toUpperCase());
console.log(g.toLowerCase());
7.删除字符串两端的空白符 obj.trim()
var g=" qnsR aAkxW ";
console.log(g.trim())//qnsR aAkxW