JavaScript3.0
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript3.0相关的知识,希望对你有一定的参考价值。
3.对象
3.1 数字
javascript中的基本类型也有属性和方法
通过new Number()
创建一个数字对象
关键字 | 简介 | 关键字 | 简介 |
---|---|---|---|
new Number | 创建一个数字对象 | MIN_VALUE MAX_VALUE | 最小值 最大值 |
NaN | 不是数字 | toFixed | 返回一个数字的小数表达式 |
toExponential | 返回一个数字的科学计数法表达 | valueOf | 返回一个数字对象的基本数字类型 |
<script>
var a = new Number(9527);
document.write('数字a的值:' + a + "<br/>");
document.write('数字a的类型:' + typeof a);//数字a的类型为object
document.write("<br/>");
var b = 9528;
document.write('数字b的值:' + b + "<br/>");
document.write('数字b的类型:' + typeof b + "<br/>");//数字b的类型是Number
document.write('Number的最大值:' + Number.MIN_VALUE + "<br/>");
var c = 123;
var d = new Number("123");
document.write('数字123是否不是数字:' + isNaN(c)+ "<br/>");
document.write('对象123是否不是数字:' + isNaN(d) + "<br/>");
var e = 3.1415926;
document.write('3.1415926保留两位小数:' + e.toFixed(2) + "<br/>");
var f = 31415926;
document.write('31415926的科学计数法:' + f.toExponential());
</script>
3.2 字符串
关键词 | 简介 | 关键词 | 简介 |
---|---|---|---|
new String() | 创建字符串 | length | 字符串长度 |
charAt charCodeAt | 返回指定位置的字符 | concat | 字符串拼接 |
indexOf lastIndexOf | 子字符串出现的位置 | localeCompare | 比较两段字符串是否相同 |
substring | 截取一段字符串 | split | 根据分隔符,把字符串转换为数组 |
replace | 替换字符串 |
<script>
var v = "13";
var s1 = new String(v);
document.write("变量v的类型:" + typeof v + "<br/>");
document.write("变量s1的类型:" + typeof s1 + "<br/>");
document.write("字符串s1的长度:" + s1.length + "<br/>");
var s2 = new String("Hello ");
document.write("获取字符串位置4上的字符:" + s2.charAt(4) + "<br/>");
document.write("获取字符串位置4字符的Unicode码:" + s2.charCodeAt(4) + "<br/>");
var s3 = new String("World");
document.write("将s2与s3拼接起来:" + s2.concat(s3) + "<br/>");
var s4 = s2.concat(s3);
document.write("字符串Wor在s4中第一次出现的首字符的位置:" + s4.indexOf("Wor") + "<br/>");
document.write("字符串Wor在s4中最后一次出现的首字符位置:" + s4.lastIndexOf("Wor") + "<br/><br/>");
/*相同返回0,非0表示不同,
1:字母顺序靠后
-1:字母顺序靠前;*/
var s5 = "abcd";
var s6 = "abcd";
var s7 = "aabc";
document.write("比较s5与s6是否相同:" + s5.localeCompare(s6) + "<br/>");
document.write("比较s5与s7是否相同:" + s5.localeCompare(s7) + "<br/><br/>");
//截取字符串,左闭右开,位置6上的字符能取到,位置9上的字符不能取到
document.write("截取s4的6~8位:" + s4.substring(6,9) + "<br/>");
document.write("截取s4的6到最后一位" + s4.substring(6) + "<br/><br/>");
//分隔字符串,将字符串转换为数组
var s8 = "Hello,Java,Script";
document.write("将Hello World按照空格分隔为数组" + s4.split(" ") + "<br/>");
document.write("将Hello Java Script按照,分隔为数组,且只保留前面两个" + s8.split(",",2) + "<br/><br/>");
//替换子字符串
document.write("替换字符串s8中第一个H为h:" + s8.replace("H","h") + "<br/>");
document.write("替换s8中的所有l为L:" + s8.replace(/l/g,"L") + "<br/>");
var regS = new RegExp("a","g");
document.write("替换s8中所有的a为A:" + s8.replace(regS,"A") + "<br/><br/>");
</script>
3.3 数组
JavaScript中的数组是动态的,长度可以发生变化
关键字 | 简介 | 关键字 | 简介 |
---|---|---|---|
new Array | 创建数组对象 | length | 数组长度 |
for for in | 遍历数组 | concat | 连接数组 |
unshift shift | 分别在最开始的位置插入数据和获取数据(获取后删除) | push pop | 分别在最后的位置插入数据和获取数据(获取后删除) |
sort | 数组排序 | sort(comparator) | 自定义排序算法 |
join | 指定分隔符,返回数组的字符串表达式 | reserve | 对数组的内容进行反转 |
slice | 获取子数组(左闭右开) | splice | 删除和插入数组 |
<script>
function println(s,v){
document.write(s + v);
document.write("<br/>");
}
var x = new Array();//创建长度为0的数组,
println("长度为0的数组x:",x);
y = new Array(3);//创建长度为3的数组
println("长度为3的数组y:",y);
println("数组y的值:",y[1]);
z = new Array(1,2,3,4,5);//根据参数创建数组
println("填写了参数的数组z:",z);
//连接数组
var a = new Array(6,7);
b = a.concat(z);
//遍历数组
for(i=0;i<z.length;i++){//使用普通for循环
document.write(z[i]+"<br>");
}
for(i in b){//使用增强for循环
document.write(b[i]+"<br>");
}
//指定分隔符,返回数组的字符串表达式
m = b.join("*");
println("字符串m:",m);
//在最后的位置插入数据与获取数据,
println("数组a:",a);
a.push(8);
println("在最后插入数据后的a:",a);
a.pop();
println("取出最后位的数据后的a:",a);
//shift与unshift效果相同
//对数组进行排序,默认从小到大排序
var n = new Array(7,6,9,4,2,3);
println("原数组n:",n);
println("对数组n进行排序后的数组:",n.sort());
//自定义排序(从大到小)
function comparator(v1,v2){
return v2-v1;
}
println("对数组n进行从大到小排序:",n.sort(comparator));
//反转数组内容
println("对数组n进行反转:",n.reverse());
//获取子数组slice,类似于substring
println("截取数组n的2到5位:",n.slice(2,6));
//删除与插入元素
n.splice(3,3);
println("从n的第3个位置删除3个元素:",n);
n.splice(2,0,1,2,3);
println("从n的第2个元素插入3个元素:",n);
</script>
3.4.日期
关键词 | 说明 |
---|---|
new Date | 创建日期对象 |
getFullYear getMonth getDate | 年 月 日 |
getHours getMinutes getSeconds getMillseconds | 时 分 秒 毫秒 |
getDay | 周几 |
getTime | 过去的毫秒数(1970/1/1 08:00:00至今) |
setFullYear setMonth setDate setHours setMinutes setSeconds | 修改日期与时间 |
<script>
//定义输出函数
function println(a,b){
document.write(a + b);
document.write("<br>");
}
//创建时间对象
var date = new Date();
println("当前时间:",date);
//分别获取时间
document.write(date.getFullYear() + "/");
document.write(date.getMonth() + "/");
document.write(date.getDate() + " ");
document.write(date.getHours() + ":");
document.write(date.getMinutes() + ":");
document.write(date.getSeconds() + "<br>");
document.write("周" + date.getDay());
//修改时间
document.write(date.setFullYear(2022));
</script>
3.5.Math
关键字 | 说明 |
---|---|
E PI | 自然对数 π |
abs | 绝对值 |
min max | 最小值 最大值 |
pow | 求幂 |
round | 四舍五入 |
random | 随机数 |
<script>
var a = 7 + Math.random() * 6;
var ar = new Array(13);
for (var i = 0; i < ar.length;i++){
ar[i] = Math.random()*100;
}
document.write(Math.round(Math.PI) + "<br>");
for (var each in ar){
document.write(each + " ");
}
</script>
3.6.自定义对象
关键字 | 说明 |
---|---|
new Object() | 创建一个对象 每创建一个对象都得重新定义所有属性 |
function | 设计一种对象 先设计一个类似于“类”的函数,然后“实例化此类”,当然js中没有类,只是工作流程类似 |
prototype | 向function中增加新的方法 |
<script>
//使用new Object创建对象
var role1 = new Object();
role1.name = 'Jean';
role1.age = 11;
role1.live = function(){
document.write(role1.name + "存活" + "<br>");
}
role1.live();
//使用function设计对象
function Role(name,age){
this.name = name;
this.age = age;
this.live = function(){
document.write(this.name + "存活" + "<br>");
}
}
//向Role中增加方法
Role.prototype.hurt = function(){
document.write(this.name + "已受伤" + "<br>");
}
var role2 = new Role('Galen',13);
role2.live();
role2.hurt();
</script>
以上是关于JavaScript3.0的主要内容,如果未能解决你的问题,请参考以下文章