JavaScript_5
1.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=“zhangsan:say’hello’”;
1.String创建
- 1.通过直接赋值的方式 var str1=“hello,world”;
- 2.通过String的构造器 new String(value); var str2=new String(“hello,world”);
2.String的常用属性和方法
- length属性—计算字符串的长度
var s=str2.length;//length属性获得string的长度
alert("string的长度"+s);
- charAt(index)–得到字符串中指定位置的字符
var str1=“hello,world”;
//通过索引访问指定位置的字符
var ch1=str1[6];
alert("这是通过索引访问的第六个字符"+ch1);
//通过charAt访问指定位置的字符
var ch2=str1.charAt(7)
alert("这是通过charAt访问的第六个字符"+ch2);
-
indexOf()–得到指定字符/字符串在原始字符串中第一次出现位置,如果没有就得到-1
var str1=“hello,world”;
var index1=str1.indexOf("l");
alert("这是通过indexOf查找L的第一次出现的位置:"+index1);
- lastIndexOf()得到指定字符/字符串在原始字符串中最后一次出现位置,如果没有就得到-1
- substring(start,end)–截取字符串
var baidu="https://www.hao123.com";
//通过lastIndexOf获取指定元素最后一次出现的位置
var index2=baidu.lastIndexOf(".");
//通过substring(start,end)截取字符串
var huoqu=baidu.substring(index2);
alert("获取的后缀是:"+huoqu);
- replace(old,new) 方法在字符串中用某些字符替换另一些字符。
var str1=“hello,world”;
// replace(old,new) 方法在字符串中用某些字符替换另一些字符。
var rep1=str1.replace("hello","你好");
alert(rep1);
- 字符串大小写转换使用函数 toUpperCase() / toLowerCase()
- split(分隔符)将字符串通过指定分隔符转为String数组【拆分字符串】
// split(分隔符)将字符串通过指定分隔符转为String数组【拆分字符串】
var stu3="name=xzm;age=21;address=渭南";
var strArr=stu3.split(";");
for(var i=0;i<strArr.length;i++){
document.write("<h1>"+strArr[i]+"</h1>")
}
特殊字符
下表列出其他特殊字符,可以使用反斜线转义特殊字符:
代码 | 输出 |
---|---|
\ ’ | 单引号 |
\ " | 双引号 |
\ \ | 斜杠 |
\ n | 换行 |
\ r | 回车 |
\ t | Tab |
\ b | 空格 |
2.2Number 对象
JavaScript 只有一种数字类型。
JavaScript 数字可以使用也可以不使用小数点来书写:
实例
- var pi=3.14; // 使用小数点
- var x=34; // 不使用小数点
极大或极小的数字可通过科学(指数)计数法来写:
实例
- var y=123e5; // 12300000
- var z=123e-5; // 0.00123
精度
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
var num1=10/3; //3.3333333333335
八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 “x”,则解释为十六进制数。 - var y = 0377; //8进制 255
- var z = 0xFF; //16进制 255
注意:我们在定数字变量赋值是不要随便去开头使用”0”/”0x”。
无穷大(Infinity)和 无穷小(-Infinity)
在javascript中所有 JavaScript 数字均为 64 位,当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。
var myNumber=2;
while (myNumber!=Infinity){
myNumber=myNumber*myNumber;
document.write(myNumber +'<br>');
}
除以0也产生了无限: var num2=10/0;
NaN - 非数字值【not a Number】
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
//var x = 1000 / "Apple";
//alert(isNaN(x)); //true 【不是一个数字】
var x2 = 1000 * "1000"; //1000000
alert(isNaN(x2)); //false 【是一个数字】
数字对象的创建
- 变量直接赋值
- 通过构造器
//变量直接赋值
var testnum1=10.558;
//通过构造器
var testnum2=new Number(10.558);
数字对象的常用属性和方法
- MAX_VALUE-- JavaScript 中可表示的最大的数 Number.MAX_VALUE
- MIN_VALUE-- JavaScript 中可表示的最小的数 Number.MIN_VALUE
toFixed();四舍五入保留指定的小数位数
var testnum2=new Number(10.558);
//toFixed();四舍五入保留指定的小数位数
var res1=testnum2.toFixed(2); //10.56
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
var test1=“1000”; //string
var res2=test1.toFixed(2);
toString()方法可把一个 Number 对象转换为一个字符串,并返回结果
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进制。
//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>');
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
在一个数组中你可以有不同的对象
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);
数组方法和属性
- length—得到数组元素的个数。
- concat()合并两个数组
var myCars=["Saab","Volvo","BMW"]; //[]=数组
var myarr = new Array();
myarr[0]=100;
myarr[1]="hello";
myarr[2]=true;
myarr[3]=stu;
var res1=myarr.concat(myCars);
alert(res1.length);
- join()用数组的元素组成字符串
var str=myCars.join();
- pop()删除数组的最后一个元素
myCars.pop();
- shift()删除数组的第一个元素
myCars.shift();
- push()数组的末尾添加新的元素
myCars.push(“hello”);
- unshift()在数组的开头添加新元素
myCars.unshift(“hello”);
- splice()在数组的指定位置添加一个元素
myCars.splice(2,0,“Lemon”,“Kiwi”,“apple”);
- reverse()将一个数组中的元素的顺序反转排序
myCars.reverse();
- slice(start,end)从一个数组中选择元素
myCars.slice(1,3)
- sort()数组排序(按字母顺序升序)
myCars.sort();
- 数字排序(按数字顺序升序/降序)
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});升序
points.sort(function(a,b){return b-a});降序
toString()转换数组到字符串