1.JavaScript Number 对象
JavaScript 只有一种数字类型。
JavaScript 数字
所有 JavaScript 数字均为 64 位
精度
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
无穷大(Infinity)
当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。
NaN - 非数字值
使用 isNaN() 全局函数来判断一个值是否不是数字值
isNaN()--true===不是数字
数组与字符串的转换:
nunmber--->object
var num1 =80;//number
var num2 =new Number(15.5);//object
alert("num1类型为"+typeof num1);
alert("num2类型为"+typeof num2);
alert("<h4>"+"数字转换字符串"+"</h4>")
var num3=new Number(num1); //number--->object
alert("num3类型为"+typeof num3);
//object--->number
alert("<h4>"+"字符串转换数字"+"</h4>")
var num4=Number.parseInt(num2); //object--->number
var num5=Number.parseFloat(num2); //object--->number
alert("num4类型为"+typeof num4);
alert("num5的类型为"+typeof num5);
字符串(String) 对象
创建方式
1.直接赋值【可以使用"" / ''】
一般使用""表示字符串,当""中出现""时可以用''代替
也可以使用转义字符
\' 单引号 \" 双引号 \\ 斜杆 \r\n 回车换行 \t tab \b 空格
2.new String(字符串值)
<script>
var str1 = "hello"; //string类型
var str2 = new string(word); //object类型
</script>
2.字符串:
length 字符串的长度
alert(str3.length);
charAt() 返回在指定位置的字符。
alert(str3.charAt(5));
concat() 连接两个或更多字符串,并返回新的字符串。+
var s1="hello";
var s2="zhangsan";
var s3=s1.concat(s2);
alert(s3);
indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。
alert(str3.indexOf("l"));
lastIndexOf() 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
alert(str3.lastIndexOf("l"));
replace(old,new)在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。
var str4=str3.replace("l","A");
split("分隔符") 把字符串分割为字符串数组。
substr(startindex,数目) 从起始索引号提取字符串中指定数目的字符。
alert(str3.substr(str3.lastIndexOf(",")+1,5));
substring(startindex,endindex) 提取字符串中两个指定的索引号之间的字符。
alert(str3.substring(str3.lastIndexOf(",")+1,str3.length));
toLowerCase() 把字符串转换为小写。
alert(str3.toLowerCase());
toUpperCase() 把字符串转换为大写。
alert(str3.toUpperCase());
trim() 去除字符串两边的空白
<script>
var q ="Hello"; //string
var a ="word!"; //string
var z =new String("hi,word!!"); //object
alert(typeof q);
alert(typeof a);
alert(typeof z);
var w=new String(q); // String--->object
alert(typeof w);
var s=z.toString(); //object--->String
alert(typeof s);
var x="猜猜我有多长?";
alert(x.length); // length 字符串的长度
var e="张三,李四,王五,赵六";
alert(e.charAt(7)); // charAt 返回指定的字符
var d=q.concat(a+e);
alert(d); // concat 连接两个或更多字符串,并返回新的字符串。用"+"相连。
var c="A,B,C,D,E,F,G,Q,A,Z,E,D,C";
alert(c.indexOf("D")); // indexOf() 返回某个指定的字符串值在字符串中首次出现的位置。
alert(c.lastIndexOf("D"));// lastIndexOf() 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
var r=e.replace("王","张");
alert(r); // replace("old","new") 在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串
var f = q.split(",");
alert(f); //split("分隔符") 把字符串分割为字符串数组。
alert(q.toLowerCase()); // woLowerCase 把字符串转换为小写
alert(q.toUpperCase()); //toUpperCase 把字符串转换为大写
trim() 去除字符串两边的空白
substr(startindex,数目) 从起始索引号提取字符串中指定数目的字符。
alert(q.substr(q.lastIndexOf(",")+1,5));
substring(startindex,endindex) 提取字符串中两个指定的索引号之间的字符。
alert(q.substring(q.lastIndexOf(",")+1,q.length));
</script>
3.数组
创建一个数组,有三种方法。
下面的代码定义了一个名为 myCars的数组对象:
1: 常规方式:
var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";
2: 简洁方式:
var myCars=new Array("Saab","Volvo","BMW");
3: 字面:
var myCars=["Saab","Volvo","BMW"];
<script>
//数组
var names =["路人甲","炮灰乙","流氓丙","土匪丁"];
var sex =["男","男","女","男"];
// //length 设置或返回数组元素的个数。
alert(names.length);
//concat() 连接两个或更多的数组,并返回结果。
var sz = names.concat(sex);
alert(sz);
//forEach() 数组每个元素都执行一次回调函数。
names.forEach(function(hanshu){
document.write("<h4>"+hanshu+"</h4>");
});
indexOf() 搜索数组中的元素,并返回它所在的位置[第一次]。
alert(names.indexOf("流氓丙"));
//lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
alert(sex.lastIndexOf("女"));
//join() 把数组的所有元素放入一个字符串。
var nu=names.join();
alert(nu);
//pop() 删除数组的最后一个元素并返回删除的元素。
var names1 = names.pop();
alert(names1);
//shift()删除并返回数组的第一个元素。
var names2 = names.shift();
alert(names2);
//push()向数组的末尾添加一个或更多元素,并返回新的长度。
names.push("张吉星");
alert(names);
//unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
names.unshift("你是狗吧");
alert(names);
//reverse() 反转数组的元素顺序。
var sex1= sex.reverse();
alert(sex1);
//slice(startindex,endindex)选取数组的一部分,并返回一个新数组。
var sex2 = sex.slice(0,2);
var sex3 = sex2.join();
alert(sex3);
//splice() 从数组中删除元素。
var sex4 = sex.splice(0,1);
alert(sex4);
var number1 = ["-12","12","22","52"]
//sort() 对数组的元素进行排序。
number1.sort(function(a,b){
// return b-a;//由大到小
return a-b;//由小到大
});
var numb=number1.join();
alert(numb);
</script>
4.Boolean
Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false)。
创建 Boolean 对象
Boolean 对象代表两个值:"true" 或者 "false"
下面的代码定义了一个名为 myBoolean 的布尔对象:
var myBoolean=new Boolean();
如果布尔对象无初始值或者其值为:
//var num1=10; // 0==false 非0数字---true
//var str="hello"; // 空字符串==false 非空字符串==true
var test1=null; // null==false
toString() 把布尔值转换为字符串,并返回结果。
valueOf() 返回 Boolean 对象的原始值。
Boolean与字符串之间的转换
// Boolean--->object
alert("<h4>"+"Boolean转换字符串"+"</h4>")
var boo3 = new Boolean(boo1);
alert(typeof boo3);
//boject--->Boolean
alert("<h4>"+"字符串转换Boolean"+"</h4>")
var boo4 = boo2.valueOf();
alert(typeof boo4);
Boolean与数值之间的转换
// number--->Boolean
alert("<h4>"+"number转换Boolean"+"</h4>")
var num1=100; //number
var boo5=Boolean(num1); //Boolean
alert(typeof boo5);
// boolean--->number
alert("<h4>"+"Boolean转换number"+"</h4>")
var num2=Number(boo1);
alert(typeof num2);
5. Math(算数) 对象
Math(算数)对象的作用是:执行常见的算数任务。
Math(算数)对象不需要创建【Math就是对象】
常见的属性
E 返回算术常量 e,即自然对数的底数(约等于2.718)。
PI 返回圆周率(约等于3.14159)。
alert(Math.E); //2.718281828459045
alert(Math.PI); //3.141592653589793
max(x,y,z,...,n) 返回 x,y,z,...,n 中的最高值。
min(x,y,z,...,n) 返回 x,y,z,...,n中的最低值。
pow(x,y) 返回 x 的 y 次幂。
sqrt(x) 返回数的平方根。
alert(Math.sqrt(0)); 0
alert(Math.sqrt(1)); 1
random() 返回 0 ~ 1 之间的随机数。
alert(Math.random());
得到1-10 / 1-100 之间的随机数
var num1= Number.parseInt(Math.random()*100);
alert(num1)
round(x) 四舍五入。
alert(Math.round(11.5)); //12
alert(Math.round(-11.5)); //-11