这是我参与8月更文挑战的第13天,活动详情查看:8月更文挑战
前言
吃饱饭才有力气写代码~
今天写代码的时候发现连最常用的JavaScript的数据类型以及使用都不熟练,所以打算今天好好整理一下!其中这个 JavaScript 对象是个很重要的思想,明天再详细地写这部分!
一.基本数据类型
1 基本类型-String
1.1 定义
字符串类型,是存储字符(比如:”Bill Gates”)的变量;
字符串可以是引号中的任意文本,使用单引号双引号都行!
在字符串中使用引号也行,只要它不与包围字符串的引号匹配上就行,想要表示引号就用转义字符 ‘ 和 ” 。
var x = "jue jin"
var y = "jue jin"
var z = "jue 'jin"
var u = 'jue "jin'
var s1='It\'s alright'; //It's alright
var s2="He is called \"Johnny\""; //He is called "Johnny"
复制代码
1.2 常用方法
- 使用位置(索引)可以访问字符串中任何的字符
var a = x[5] //i
复制代码
- 使用长度属性 length 来计算字符串的长度
document.write(x.length);//7
复制代码
- 使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置,lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。
var n = s1.indexOf("It");//0
复制代码
- 用 match() 来查找字符串中特定的字符,并且如果找到的话,则返回这个字符
document.write(s1.match("right"));//right
复制代码
- 用 replace() 把某些字符替换另一些字符
var n = s1.replace("'s"," is");//It is alright
复制代码
- 用函数 toUpperCase() / toLowerCase()大小写转换
var txt="Hello World!"; // String
var txt1=txt.toUpperCase(); // txt1 文本会转换为大写
var txt2=txt.toLowerCase(); // txt2 文本会转换为小写
复制代码
- 用 split() 函数 把字符串转换为数组
var s = "h,e,l,l,o"
var n = s.split(",")
console.log(n[1])//e
复制代码
- 用 concat() 连接两个或多个字符串,不改变原字符串,返回一个新的字符串
var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);
复制代码
- 用 substring() 提取字符串中介于两个指定下标之间的字符
var str="Hello world!";
document.write(str.substring(3,7));//lo w
复制代码
2 基本类型-Number
2.1 定义
JavaScript 只有一种数字类型,可以带小数点也可以不带。
极大或者极小的数字可以用科学计数法表示。
var x1=34.00;
var x2=34;
var y=123e5; // 12300000
var z=123e-5; // 0.00123
复制代码
注意:表数有范围
JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等,所有的数字都是浮点型类型。用 64 位存储数值,其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号。
- 整数
不使用小数点或指数计数法,最多为15位
- 小数
最大位数是17位,但是浮点运算不一定准确
- 无穷大
当数字运算结果超过了JavaScript所能表示的数字上限(溢出)或者负数下限,结果为一个特殊的无穷大(infinity)值或者负无穷大(-infinity)。
除以0也产生了无限:
var x = 2/0;//Infinity
var y = -2/0;//-Infinity
复制代码
- 八进制和十六进制
默认情况下JavaScript数字为十进制数。
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数;
如果前缀为 0 和 “x”,则解释为十六进制数。
可以使用 toString() 方法 输出16进制、8进制、2进制。
var myNumber=128;
myNumber.toString(16); // 返回 80
myNumber.toString(8); // 返回 200
myNumber.toString(2); // 返回 10000000
复制代码
- NaN 非数字值
NaN 属性是代表非数字值的特殊值,这个属性表示这个值不是数字。可以用全局函数 isNaN() 来判断一个值是否是 NaN 值。
一个数字除以一个字符串结果不是一个数字
一个数字除以一个字符串数字结果是一个数字
除以0是无穷大,无穷大是一个数字
var x = 1000 / "Apple";
isNaN(x); // 返回 true
var y = 100 / "1000";
isNaN(y); // 返回 false
复制代码
- 数字可以是数字或者对象
数字可以私有数据进行初始化,就像 x = 123;
JavaScript 数字对象初始化数据, var y = new Number(123);
var x = 123;
var y = new Number(123);
(x === y) // 为 false,因为 x 是一个数字,y 是一个对象
typeof(x) // 返回 Number
typeof(y) // 返回 Object
复制代码
2.2 常用方法
- Number.parseFloat() 将字符串转换成浮点数
- Number.parseInt() 将字符串转换成整型数字
- Number.isFinite() 判断传递的参数是否为有限数字
- Number.isInteger() 判断传递的参数是否为整数。
- Number.isNaN() 判断传递的参数是否为 isNaN()。
- Number.isSafeInteger() 判断传递的参数是否为安全整数。
- toExponential() 返回一个数字的指数形式的字符串,如:1.23e+2
- toFixed() 返回指定小数位数的表示形式。
var a=123; b=a.toFixed(2); // b="123.00"
复制代码
- toPrecision() 返回一个指定精度的数字。如下例子中,a=123 中,3会由于精度限制消失:
var a=123; b=a.toPrecision(2); // b="1.2e+2"
复制代码
3 基本类型-Boolean
布尔(逻辑)只能有两个值:true 或 false
这个就经常用在条件测试中。
var x=true;
var y=false;
复制代码
4 基本类型-Null
可以通过将变量的值设置为 null 来清空变量。
var car="Volvo";
document.write(car);//Volvo
var car=null;
document.write(car);//null
复制代码
5 基本类型-Undefined
Undefined 这个值表示变量不含有值。
注意:如果遇到控制台报undefined,就意味着你定义的那个变量没有拿到值,就可以有针对性的排查!
6 基本类型-Symbol
Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
二.引用数据类型
1 引用类型-Object
1.1 定义
对象由花括号分隔;在括号内部,属性由逗号分隔;属性以名称和值对的形式 (name : value) 来定义;
对象属性有两种寻址方式:
var person={firstname:"John", lastname:"Doe", id:5566};
name=person.lastname;
name=person["lastname"];
复制代码
2 引用类型-Array
2.1 定义
下面的代码创建名为 cars 的数组
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
var cars=new Array("Saab","Volvo","BMW");
var cars=["Saab","Volvo","BMW"];
复制代码
3 引用类型-Function
(这个也明天写~)