Javascript中的对象
1.1自定义对象--我们自己创建的对象
1.2 内置对象----javascript提供好的对象
1.高级对象
字符串对象(String)
Number 对象
JavaScript Array(数组)
Boolean(布尔)
Date(日期)
Math(算数)
RegExp 对象
2.dom对象---控制html网页标记的对象
3.bom对象---浏览器对象
自定义对象
1.“{}”自定义对象的标志
2.自定义对象中可以包含变量和函数
3.自定义对象中变量---变量名称:变量值
4.自定义对象中函数---函数名称:function([参数]){[return xxxx]};
5.访问自定义对象中变量---对象名称.变量名称 [推荐]
对象名称[“变量名称”/对象名称[‘变量名称’]
6.访问自定义对象中函数---对象名称.函数名称([参数]) [推荐]
7.自定义对象中函数访问自定义对象中变量---对象名称.变量名称 /this.变量名称[推荐]
对象名称[“变量名称”/对象名称[‘变量名称’]
例:
<script>
window.onload=function(){
var userobj={userid:1001,
username:"zhangsan",
getInfo:function(id,name){
alert("自定义对象中的函数");
return userobj.userid+" "+this.username;
}};
//alert(userobj.username);
var res=userobj.getInfo(1002,"lisi");
alert(res);
}
</script>
JavaScript中的高级对象【常见/常用】
字符串对象(String):
1.创建字符串对象(String)
创建字符串变量: var str=”hello”; //类型string
通过构造器创建对象:var str1=new String([数据值]); //类型Object
2.String的常用属性和方法
length属性---计算字符串的长度
charAt(index)--得到字符串中指定位置的字符
indexOf()--得到指定字符串在原始字符串中第一次出现位置,如果没有就得到-1
lastIndexOf()得到指定字符串在原始字符串中最后一次出现位置,如果没有就得到-1
substring(start,end)--截取字符串
replace(old,new) 方法在字符串中用某些字符替换另一些字符。
split(分隔符)将字符串通过指定分隔符转为String数组【拆分字符串】
3.双引号中的双引号,需要使用单引号或者转义字符代替
\' | 单引号 |
\" | 双引号 |
\\ | 斜杆 |
\n | 换行 |
\r | 回车 |
\t | tab |
\b | 空格 |
例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>字符串对象(String)</title>
<script>
window.onload=function(){
//var str1="hello"; //类型string
//alert(typeof str1);
//var str2=new String("world");//类型Object
//alert(typeof str2);
//var str3="hello,world";
//alert(str3.length);
//alert(str3.charAt(5)); //,
//alert(str3.indexOf("l")); //2
//alert(str3.lastIndexOf("l")); //9
//var substr=str3.substring(2,9);
//alert(substr);
//https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1160802399,3565281168&fm=26&gp=0.jpg
//var path="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1160802399,3565281168&fm=26&gp=0.jpg";
//var name=path.substring(path.lastIndexOf("."),path.length);
//alert(name);
//replace(old,new) 方法在字符串中用某些字符替换另一些字符。
//var test1=str3.replace("l","ABC");
//alert(test1);
//var strarray=str3.split(",");
//var index=null;
//for(index in strarray){
//alert(strarray[index]);
//}
//var info="name='zhangsna',address=\"西安\"";
//var strarray=info.split(",");
//strarray[0]===name='zhangsna'
//strarray[1]===address="西安"
var info="name='zhangsna'\naddress=\"西安\"";
alert(info);
}
</script>
</head>
<body>
</body>
</html>
数字对象(Number):
1.创建数字对象
创建数字变量 var num1=12.5; //类型number
通过构造器创建对象 var num2=new Number(数字); //类型object
2.数字对象的常用属性和方法
MAX_VALUE-- JavaScript 中可表示的最大的数
MIN_VALUE-- JavaScript 中可表示的最小的数
需要使用Number对象名称访问
toFixed(位数);保留指定的小数位数
toString()方法可把一个 Number 对象转换为一个字符串,并返回结果。
3.精度
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确。
4.八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值解释为八进制数;
如果前缀为 0 和 "x",则解释为十六进制数。
var y = 0377; //8进制 255
var z = 0xFF; //16进制 255
5.无穷大(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;
6.NaN - 非数字值【not a Number】
使用 isNaN() 函数来判断一个值是否是 NaN 值。
true--不是数字
false--是数字
var num1="abc";
alert(isNaN(num1));
数组对象(Array):
- 数组--一堆数据的集合
- 创建数组
var arr1=new Array();
var arr2=[];
- 数组赋值
先创建后赋值
var arr1=new Array();
arr1[下标]=数值;
先创建+赋值
var arr2=[数值1,....,数值n];
- 数组的取值---数组名称[下标]
- 数组的遍历
- 数组的属性和方法
length---得到数组元素的个数。
concat()合并两个数组
join()用数组的元素组成字符串
pop()删除数组的最后一个元素
shift()删除数组的第一个元素
push()数组的末尾添加新的元素
unshift()在数组的开头添加新元素
sort()数组排序
字符串数组通过sort()按照字母顺序升序排列
数字数组通过sort(function(a,b){retutn a-b});升序排列
数字数组通过sort(function(a,b){retutn b-a});降序排列
例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>数组</title>
<script>
window.onload=function(){
var arr1=new Array(); //object
arr1[0]="java";
arr1[1]="javascript";
arr1[2]="C++";
var arr2=["zhangsan","lisi","wangwu"]; //object
//alert(arr1.length);
var arr3=arr1.concat(arr2);
//alert(arr3.length);
/*
for(var i=0;i<arr3.length;i++){
document.write("<h1>"+arr3[i]+"</h1>");
}
*/
//var str=arr3.join();
//java,javascript,C++,zhangsan,lisi,wangwu
//alert(str);
/*
arr3.pop();
for(var i=0;i<arr3.length;i++){
document.write("<h1>"+arr3[i]+"</h1>");
}
*/
/*
arr3.shift();
for(var i=0;i<arr3.length;i++){
document.write("<h1>"+arr3[i]+"</h1>");
}
*/
/*
arr3.push("NEW");
for(var i=0;i<arr3.length;i++){
document.write("<h1>"+arr3[i]+"</h1>");
}
*/
/*
arr3.unshift("NEW");
for(var i=0;i<arr3.length;i++){
document.write("<h1>"+arr3[i]+"</h1>");
}
*/
//sort()数组排序 [默认升序]
/*
var arr4 =arr3.sort();
for(var i=0;i<arr4.length;i++){
document.write("<h1>"+arr4[i]+"</h1>");
}
*/
var arr5=[100,98,2,200];
arr5.sort(function(a,b){return a-b});
for(var i=0;i<arr5.length;i++){
document.write("<h1>"+arr5[i]+"</h1>");
}
}
</script>
</head>
<body>
</body>
</html>
布尔值对象(Boolean):
1.创建boolean对象
var boo1=true; //类型boolean
var boo2=new Boolean(数值); //类object
通过构造器创建boolean对象可以将
数字0--false 非0--true
字符串 “”---false 非””--true
null---false
NaN---false
例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>布尔值对象</title>
<script>
window.onload=function(){
//1.创建boolean对象
var boo1=true; //类型boolean
//alert(typeof boo1);
var boo2=new Boolean(false); //类object
//alert(typeof boo2);
//数字0--false 非0--true
var boo3=new Boolean(100);
//alert(boo3);
/*
if(0){
alert("true");
}else{
alert("false");
}
*/
//字符串 “”---false 非””--true
var boo4=new Boolean("aaa");
//alert(boo4);
/*
if("hello"){
alert("true");
}else{
alert("false");
}
*/
//null---false
//var boo5=new Boolean(null);
//alert(boo5);
//NaN---false
//var boo6=new Boolean(NaN);
//alert(boo6);
var boo7=new Boolean("false");
alert(boo7);
}
</script>
</head>
<body>
</body>
</html>