Javascript中的对象
1.1自定义对象
1.2 内置对象
1.高级对象
2.dom对象
3.bom对象
2.javascript高级对象
1.创建
2.调用对象的属性和方法
3.注意事项
2.1字符串对象(String)
一个字符串可以使用单引号或双引号:
实例
var carname=“Volvo XC60”;
var carname=‘Volvo XC60’;
注意:双引号中的双引号用单引号代替。
var str=“libo:say’haoziweizhi’”;
1.String 创建
1.通过直接赋值的方式
2.通过String的构造器 new String( value);
<script>
//1.string对象的创建
//通过直接赋值的方式
var str1 = "libo,haoziweizhi";
//通过String的构造器
var str2 = new String ("anbagui");
var len = str2 .length;
alert("len=="+len);
</script>
String 的常用属性和方法
length属性—计算字符串的长度
<title>Document</title>
<script>
//1.string对象的创建
//通过直接赋值的方式
var str1 = "libo,haoziweizhi";
//通过String的构造器
var str2 = new String ("anbagui");
var len = str2 .length;
//alert("len=="+len);
//得到字符串中指定位置的字符
//1.通过索引访问指定位置的字符
var ch1 = str1[5];
//2. charAt(index)-- 得到字符串中指定位置的字符
var ch2= str1.charAt(8);
alert("ch2=="+ch2);
</script>
indexOf()–得到指定字符/字符串在原始字符串中第一次出现位置,如果没有就得到-1
<script>
//1.string对象的创建
//通过直接赋值的方式
var str1 = "libo,haoziweizhi";
//通过String的构造器
var str2 = new String ("anbagui");
var len = str2 .length;
//alert("len=="+len);
//得到字符串中指定位置的字符
//1.通过索引访问指定位置的字符
var ch1 = str1[5];
//2. charAt(index)-- 得到字符串中指定位置的字符
//var ch2= str1.charAt(8);
//alert("ch2=="+ch2);
var i_index=str1.indexOf("i");
alert("i_index=="+i_index);
</script>
lastIndexOf()得到指定字符/字符串在原始字符串中最后一次出现位置,如果没有就得到-1
<script>
//lastIndexOf()得到指定字符/字符串在原始字符串中最后一次出现位置,如果没有就得到-1
// substing(start,end)--截取字符串
var w3school = "https://www.w3school.com.cn/?tdsourcetag=s_pcqq_aiomsg";
var dian_Index = w3school.lastIndexOf(".");
var houzhui = w3school.substring(dian_Index);
alert("houzhui==" +houzhui);
</script>
replace(old,new) 方法在字符串中用某些字符替换另一些字符。
<script>
var str1 = "libo,耗子尾汁";
var res1 = str1.replace("libo","李博");
alert(res1);
</script>
字符串大小写转换使用函数 toUpperCase() / toLowerCase()
split(分隔符)将字符串通过指定分隔符转为String数组【拆分字符串】
<script>
var info = "name=李博,耗子尾汁;age=22;address=西安";
var strarray = info.split(";");
for(var i=0; i<strarray.length;i++){
document.write("<h1>"+strarray[i]+"</h1>");
</script>
特殊字符
2.2Number 对象
JavaScript 只有一种数字类型。
JavaScript 数字可以使用也可以不使用小数点来书写:
实例
var pi=3.14; // 使用小数点
var x=34; // 不使用小数点
极大或极小的数字可通过科学(指数)计数法来写:
实例
var y=123e5; // 12300000
var z=123e-5; // 0.00123
所有js数字均为64位
精度
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
var num1=10/3; //3.3333333333335
<SCript>
var num1 = 10;
alert(num1/3);
</SCript>
八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 “x”,则解释为十六进制数。
<SCript>
var num1 = 10;
//八进制和十六进制
//如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,
//如果前缀为 0 和 "x",则解释为十六进制数。
var y = 0377;//八进制 255
var z = 0xFF;//十六进制 255
//alert(y);
alert(z);
</SCript>
注意:我们在定数字变量赋值是不要随便去开头使用”0”/”0x”。
不要在数字前面写零,除非你需要进行八进制转换。
默认情况下,js 数字为十进制显示。
使用 toString() 方法 输出16进制、8进制、2进制。
无穷大(Infinity)和 无穷小(-Infinity)
在javascript中所有 JavaScript 数字均为 64 位,当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。
<script>
myNumber = 2;
while (myNumber!=Infinity){
myNumber=myNumber*myNumber;
document.write(myNumber +'<br>');
}
</script>
除以0也产生了无限;
<script>
var num2=10/0;
alert(num2);
</script>
NaN - 非数字值【not a Number】
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
<title>Document</title>
<script>
//var x = 1000 / "Apple";
//alert(isNaN(x)); //true 【不是一个数字】
/* var x2 = 100/"1000";
alert(isNaN(x2));
alert(x2); */
var x2 = 1000 * "1000"; //1000000
alert(isNaN(x2)); //false 【是一个数字】
</script>
数字对象的创建
1.变量直接赋值
<script>
//变量直接赋值
var testnum1=10;
// toFixed();四舍五入保留指定的小数位数
var res1=testnum1.toFixed(2);
alert(res1);
</script>
2.通过构造器
<script>
//变量直接赋值
var testnum1=10.36;
// 通过构造器
var testnum2=new Number(45.985);
//toFixed();四舍五入保留指定的小数位数
var res1=testnum2.toFixed(2);
alert(res1);
</script>
数字对象的常用属性和方法
MAX_VALUE-- JavaScript 中可表示的最大的数
Number.MAX_VALUE
MIN_VALUE-- JavaScript 中可表示的最小的数
Number.MIN_VALUE
<script>
var num1=10/3;
var y = 0377;
var z = 0xFF;
var testnum1=10.558;
var testnum2=new Number(10.558);
var res1=testnum2.toFixed(2);
var x2 = 100/"1000";
//alert(isNaN(x2));
//lert(x2);
//MAX_VALUE-- JavaScript 中可表示的最大的数
//MIN_VALUE-- JavaScript 中可表示的最小的数
alert(Number.MAX_VALUE);
//alert(Number.MIN_VALUE);
</script>
toFixed();四舍五入保留指定的小数位数
<script>
//变量直接赋值
var testnum1=10.36;
// 通过构造器
var testnum2=new Number(45.985);
//toFixed();四舍五入保留指定的小数位数
var res1=testnum2.toFixed(2);
alert(res1);
</script>
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
<script>
//当调用该方法的对象不是 Number 时抛出 TypeError 异常。
var test1="陈挺 耗子尾汁!";
var res2=test1.toFixed(2);
</script>
toString()方法可把一个 Number 对象转换为一个字符串,并返回结果。
<script>
var test2=100;
var test3=200;
alert(test2+test3); //300
var strtest2=test2.toString();
var strtest3=test3.toString();
alert(strtest2+strtest3);//100200
toString() 方法 输出16进制、8进制、2进制。
var myNumber = 10;
document.write(myNumber + ' 十进制<br>');
document.write(myNumber.toString(16) + ' 十六进制<br>');
document.write(myNumber.toString(8) + ' 八进制<br>');
document.write(myNumber.toString(2) + ' 二进制<br>');
</script>
2.3JavaScript Array(数组)
数组对象的作用是:使用单独的变量名来存储一系列的值。
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”]; //[ ]=数组
数组取值—格式: 数组名称[下标]
var myCars=[“Saab”,“Volvo”,“BMW”];
myCars[2]; //BMW
在一个数组中你可以有不同的对象
<script>
var stu={ stuid:1001,
stuname:"anbagui",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="李博 陈廷 耗子尾汁";
myarr[2]=true;
myarr[3]=stu;
alert(myarr[3].stuid );
</script>
length—得到数组元素的个数。
concat()合并两个数组
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={ stuid:1001,
stuname:"anbagui",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="李博 陈廷 耗子尾汁";
myarr[2]=true;
myarr[3]=stu;
alert(myarr[3].stuid );
//concat()合并两个数组
var res1=myarr.concat(myCars);
alert(res1.length);
</script>
join()用数组的元素组成字符串
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
/* var stu={ stuid:1001,
stuname:"anbagui",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="李博 陈廷 耗子尾汁";
myarr[2]=true;
myarr[3]=stu;
alert(myarr[3].stuid );
//concat()合并两个数组
var res1=myarr.concat(myCars);
alert(res1.length); */
//join()用数组的元素组成字符串
var str=myCars.join();
alert(str);
</script>
pop()删除数组的最后一个元素
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var str=myCars.join();
alert(str);
//pop()删除数组的最后一个元素
var arr1=myCars.pop();
alert(arr.length);
</script>
push()数组的末尾添加新的元素
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
//alert(myarr[3].stuid);
//concat()合并两个数组
var res1=myarr.concat(myCars);
myCars.pop();
myCars.push(" 李博 陈廷 耗子尾汁!");
alert(myCars[2]);
</script>
reverse()将一个数组中的元素的顺序反转排序
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
myCars.pop();
myCars.push();
//myCars.unshift("李博,陈廷 耗子尾汁");
myCars.reverse();
//alert(myCars[2]);
alert(myCars.join());
</script>
splice()在数组的指定位置添加一个元素
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
//myCars.pop();
//myCars.push();
//myCars.unshift("李博,陈廷 耗子尾汁");
//myCars.reverse();
//alert(myCars[2]);
myCars.splice(2,0,"www","sdsds");
alert(myCars.join());
</script>
slice(start,end)从一个数组中选择元素
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
//myCars.pop();
//myCars.push();
//myCars.unshift("李博,陈廷 耗子尾汁");
//myCars.reverse();
//alert(myCars[2]);
//myCars.splice(2,0,"www","sdsds");
//alert(myCars.join());
alert(myCars.slice(1,3));
</script>
sort()数组排序(按字母顺序升序)
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
//myCars.pop();
//myCars.push();
//myCars.unshift("李博,陈廷 耗子尾汁");
//myCars.reverse();
//alert(myCars[2]);
//myCars.splice(2,0,"www","sdsds");
//alert(myCars.join());
//alert(myCars.slice(1,3));
myCars.sort();
alert(myCars.join());
</script>
数字排序(按数字顺序升序/降序)
<script>
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var stu={stuid:1001,
stuname:"zhangsan",
testfunc:function(){
alert("自定义对象");
}};
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
//myCars.pop();
//myCars.push();
//myCars.unshift("李博,陈廷 耗子尾汁");
//myCars.reverse();
//alert(myCars[2]);
//myCars.splice(2,0,"www","sdsds");
//alert(myCars.join());
//alert(myCars.slice(1,3));
//myCars.sort();
//alert(myCars.join());
var points = [40,100,1,5,25,10];
//points.sort(function(a,b){return a-b});//升序
points.sort(function(a,b){return b-a});//降序
alert(points.join());
</script>