javascript中的对象分为4类
1.自定义对象
2.内置对象
3.DOM对象
4.BOM对象
对象只是一种特殊的数据。对象拥有属性和方法。
1.自定义对象
1.1使用对象{}创建
// 1.使用对象{}创建
var obj = {
name: "dada", //属性
age: 24, //属性
//方法
ff: function() {
return this.name + "-" + this.age;
}
};
// 访问对象的属性
alert(obj.name + "," + obj.age);
// 访问对象的方法
alert(obj.ff());
访问对象的属性
访问对象的方法
?
?1.2使用构造函数创建对象.
// 声明一个函数
function fun() {
this.name = "wangxiao",
this.age = 30,
this.ff = function() {
return this.name + "-" + this.age
}
}
// 创建对象
var obj1 = new fun();
// 访问对象的属性
alert(obj1.name + "," + obj1.age);
// 访问对象的方法
alert(obj1.ff());
?2.内置对象
内置对象---javascript语言本身提供的对象
Number对象,字符串(String)?对象,Date(日期)?对象Array(数组)对象,
Boolean(布尔)对象,Math(算数)对象,RegExp?对象
2.1Number对象
JavaScript 数字可以使用也可以不使用小数点来书写
JavaScript?数值始终是?64?位的浮点数
精度
整数(?不使用指数或科学计数法)?会被精确到?15?位
alert(a = 123456789123456); //a=123456789123456
alert(b = 123456789123456888); //b=123456789123456900
小数的最大数是?17?位,但是浮点的算数并不总是?100%?精准
alert(z = 10 / 3);//3.3333333333333335
Number对象格式:???var 变量名称?=?new?Number(数字);
var num = 10; //数据类型number
var num = new Number(10); //数据类型object
变量就是对象,注意区分类型
new Nmber()---object 没有new就是基本类型
科学计数法
超大或超小的数可通过科学计数法来写
var num3 = 550e+5;
alert(num3);
var num4 = 101e-3;
alert(num4);//0.101
进制转换方法
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
?toString(参数)转换进制
var num2 = 100; //十进制
alert(num2.toString(2)); //转换为二进制1100100
alert(num2.toString(8)); //转换为八进制144
alert(num2.toString(16)); //转换为十六进制64
无穷大(Infinity)无穷小(-Infinity)
Infinity?(或?-Infinity)是 JavaScript 在计算数时超出最大可能数范围时返回的值。
它们的加、减、乘和除运算结果还是无穷大
var myNumber = 2;
while (myNumber != Infinity) {
myNumber = myNumber * myNumber;
alert(myNumber); // 执行直到 Infinity
}
除以 0(零)也会生成?Infinity:
alert(5 / 0);//Infinity
Number 属性
属性 | 描述 | Number.MAX_VALUE | 最大值 | Number.MIN_VALUE | 最小值 | Number.NaN | 非数字 | Number.NEGATIVE_INFINITY | 负无穷,在溢出时返回 | Number.POSITIVE_INFINITY | 正无穷,在溢出时返回 | Number.EPSILON | 表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别 | Number.MIN_SAFE_INTEGER | 最小安全整数。 | Number.MAX_SAFE_INTEGER | 最大安全整数。 |
?NaN - 非数字值
NaN?属于 JavaScript 保留字,指示数字并非合法的数字。
尝试使用非数字字符串进行算术运算将导致 NaN(非数字):
使用 isNaN() 全局函数来判断一个值是否是 NaN 值
var x = 1000 / "Apple";
alert(isNaN(x)); //返回turn(非数字)
var y = 100 / "1000";
alert(isNaN(y)); //返回false(数字)
Number.MAX_VALUE --最大值
Number.MIN_VALUE --最小值
????????alert(Number.MAX_VALUE);?//1.7976931348623157e+308
????????alert(Number.MIN_VALUE);?//5e-324
数字方法
方法 | 描述 | Number.parseFloat() | 将字符串转换成浮点数,和全局方法?parseFloat()?作用一致。 | Number.parseInt() | 将字符串转换成整型数字,和全局方法?parseInt()?作用一致。 | Number.isFinite() | 判断传递的参数是否为有限数字。 | Number.isInteger() | 判断传递的参数是否为整数。 | Number.isNaN() | 判断传递的参数是否为?isNaN()。 | Number.isSafeInteger() | 判断传递的参数是否为安全整数。 |
Number.parseFloat()
将字符串转换成浮点数(小数),和全局方法?parseFloat()?作用一致
var str1 = "10.1";
var numb1 = Number.parseFloat(str1);
alert(numb1);
alert(typeof numb1); //数据类型number
var numb2 = parseFloat(str1);
alert(numb2);
alert(typeof numb2); //数据类型number
Number.parseInt()
将字符串转换成整型数字,和全局方法?parseInt()?作用一致。
var str2 = "100"; //字符串
var number1 = Number.parseInt(str2); //将字符串转换成整型数字
alert(number1);
alert(typeof number1); //数据类型number
var number2 = parseInt(str2); //将字符串转换成整型数字
alert(number2);
alert(typeof number2); //数据类型number
数字类型原型上的一些方法
方法 | 描述 | toExponential() | 返回一个数字的指数形式的字符串,如:1.23e+2 | toFixed() | 返回指定小数位数的表示形式。 var a=123; b=a.toFixed(2); // b="123.00" | toPrecision() | 返回一个指定精度的数字。如下例子中,a=123 中,3会由于精度限制消失: var a=123; b=a.toPrecision(2); // b="1.2e+2" |
?toFixed
返回指定小数位数的表示形式(保留小数的位置)
var x = 3.1415926;
var y = x.toFixed(5); //保留5位小数
alert(y); //3.14159
2.2JavaScript?字符串(String)?对象
??JavaScript 字符串是引号中的零个或多个字符
? ?创建字符串对象
var str = "beijing";
var str1 = new String("beijing");
String 对象属性
length
length属性来计算字符串的长度
var str2 = new String("beijing");
alert(str2.length); //字符串长度为7位
String 对象方法
??indexOf()
?用来定位字符串中某一个指定的字符首次出现的位置(从0开始),没有出现就是-1
var str3 = "beijing";
alert(str3.indexOf("j")); //3
alert(str3.indexOf("w")); //-1
lastIndexOf()?
用来定位字符串中某一个指定的字符最后一次出现的位置(从0开始),没有出现就是-1
var str4 = "beijing";
alert(str4.lastIndexOf("i")); //4
alert(str4.lastIndexOf("w")); //-1
match()
match()函数用来查找字符串中特定的单个或多个字符,并且如果找到的话,则返回这个字符,如果没有找到的话,则返回null
var str5 = "hello,beijing";
alert(str5.match("ll")); //ll
alert(str5.match("z"));//null
replace()?
replace()?方法在字符串中用某些字符替换另一些字符
var str6 = "hello,beijing";
alert(str6.replace("beijing", "shanghai")); //hello,shanghai
?字符串大小写转换使用函数
toUpperCase()??小写转换成大写
var str7 = "hello,beijing";
alert(str7.toUpperCase());//HELLO,BEIJING
toLowerCase()????大写转换小写
var str8 = "HELLO,BEIJING";
alert(str8.toLowerCase()); //hello,beijing
使用split()函数转为数组
var str9 = "shanghai,beijing,xian";
var arr1 = (str9.split(",")); //转换为数组
for (var i = 0; i < arr1.length; i++) {
alert(arr1[i]); //shanghai,beijing,xian
}
charAt() 返回在指定位置的字符
var st1 = "shanghai,beijing,xian";
alert(st1.charAt("10"));//e
includes() 查找字符串中是否包含指定的子字符串。
var st2 = "shanghai,beijing,xian";
alert(st2.includes("be")); //true
alert(st2.includes("cdc")); //false
startsWith() 查看字符串是否以指定的子字符串开头
var st2 = "shanghai,beijing,xian";
alert(st2.startsWith("shang")); //true
alert(st2.startsWith("bei")); //false
endsWith() 查看字符串是否以指定的子字符串结尾
var st4 = "shanghai,beijing,xian";
alert(st4.endsWith("n")); //true
alert(st4.endsWith("xian")); //true
alert(st4.endsWith("beijing")); //false
substr(起始索引号,指定数目) 从起始索引号提取字符串中指定数目的字符。
var st5 = "shanghai,beijing,xian";
alert(st5.substr(9, 3)); //bei(逗号也是字符)
substring(起始索引号,结束索引号) 提取字符串中两个指定的索引号之间的字符
var st6 = "shanghai,beijing,xian";
alert(st6.substring(12, 16)); //jing(逗号也是字符)
trim() 去除字符串两边的空白(无法去除字符串里面的空白)
var st7 = "shang hai ";
alert(st7.length); //14
var st71 = st7.trim();
alert(st71);//shang hai
alert(st71.length); //10
valueOf() 返回某个字符串对象的原始值
var stri1 = new String("hello");
alert(typeof stri1); //object
var stri10 = stri1.valueOf();//返回他的原始值
alert(typeof stri10); //object-string
toString()???返回一个字符串
var str11 = new String("beijing");
alert(typeof str11); //object
var str110 = str11.toString();
alert(typeof str110); //string
toString()--()写入数字既会?返回一个字符串也会转换进制?
var num1 = 100;
alert(typeof num1); //number
var num11 = num1.toString(8);
alert(num11); //144
alert(typeof num11); //string
下表列出其他特殊字符,可以使用反斜线转义特殊字符:
代码 | 输出 | \' | 单引号 | \" | 双引号 | \\ | 斜杆 | \n | 换行 | \r | 回车 | \t | tab | \b | 空格 | \f | 换页 |
// \'表示单引号
alert("hello\'beijing\'"); //hello'beijing'
// \"表示双引号
alert("\"hell0\""); // "hell0"
//\\表示斜杠\
alert("bei\\jing"); //bei\jing
//\n表示换行
alert("beijing\nshanghai ");
//\r表示回车
alert("beijing\rshanghai ");
//\t表示tab
alert("beijing\tshanghai ");
//\b表示tab
alert("beijing\bshanghai ");
2.3?Date(日期)?对象
日期对象用于处理日期和时间
创建日期对象
?new?Date();?当前系统时间
var date1 = new Date();
alert(date1);//Sat Sep 04 2021 10:43:52 GMT+0800 (中国标准时间)
new?Date(毫秒数);?从1970年1月1日0时0点0分开始向后推进指定参数的毫秒数
var date2 = new Date(100000);
alert(date2); //Sat Jan 01 100000 00:00:00 GMT+0800 (中国标准时间)
??new?Date();?通过指定格式的字符串创建日期对象
var date3 = new Date("2014/8/23 12:10");
alert(date3); //Sat Aug 23 2014 12:10:00 GMT+0800 (中国标准时间)
var date4 = new Date("2014-8-23 12:10");
alert(date4);//Sat Aug 23 2014 12:10:00 GMT+0800 (中国标准时间)
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
通过指定年月日时分秒的数字值创建日期对象,月份减1
var date5 = new Date("2008", "7", "8", "8", "8", "8");
alert(date5); //Fri Aug 08 2008 08:08:08 GMT+0800 (中国标准时间)
Date 对象方法
?getFullYear?()?从?Date?对象以四位数字返回年份
var get1 = new Date().getFullYear();
alert(get1); //年份
getMonth()????从?Date?对象返回月份?(0?~?11)
var get2 = new Date().getMonth();
alert(get2+1); //月份
getDate()?从?Date?对象返回一个月中的某一天?(1?~?31)
var get3 = new Date().getDate();
alert(get3); //天数
?getHours()????返回?Date?对象的小时?(0?~?23)
var get3 = new Date().getHours();
alert(get3); //小时数
getMinutes()??返回?Date?对象的分钟?(0?~?59)
var get5 = new Date().getDate();
alert(get5); //分钟数
getSeconds()??返回?Date?对象的秒数?(0?~?59)。
var get6 = new Date().getDate();
alert(get6); //秒数
getDay()??从?Date?对象返回一周中的某一天?(0?~?6)
var get7 = new Date().getDay();
alert(get7); //一周中的天数
getTime()?返回?1970?年?1?月?1?日至今的毫秒数
var get8 = new Date().getTime();
alert(get8); //毫秒数
setDate()?设置?Date?对象中月的某一天?(1?~?31)
setFullYear()?设置?Date?对象中的年份(四位数字)。
setHours()????设置?Date?对象中的小时?(0?~?23)。
setMilliseconds()?设置?Date?对象中的毫秒?(0?~?999)。
setMinutes()??设置?Date?对象中的分钟?(0?~?59)。
setMonth()????设置?Date?对象中月份?(0?~?11)。
setSeconds()??设置?Date?对象中的秒钟?(0?~?59)
var da = new Date();
da.setFullYear("2000");
da.setMonth("6");
da.setDate("15");
da.setHours("15");
da.setMinutes("20");
da.setSeconds("50");
da.setMilliseconds("20");
alert(da);//Sat Jul 15 2000 15:20:50 GMT+0800 (中国标准时间)
var dat1 = new Date();
dat1.setFullYear(1999, 3, 20);
dat1.setHours(18, 15, 51);
alert(dat1);//Tue Apr 20 1999 18:15:51 GMT+0800 (中国标准时间)
|