JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等 在 JavaScript 中,对象是拥有属性和方法的数据 属性和方法 (属性是与对象相关的值、方法是能够在对象上执行的动作) 例: 学生 student student属性: student.name = 美女; student.age = 18 ; student.sex = 女 ; student.isMarry = true ;
student的方法: student.eat() // 吃饭 student.sleep() // 睡觉 student.ddd() // 打豆豆 student.baby() // 抱孩子 学生的属性包括姓名、年龄、性别、婚否等 所有学生都有这些属性,但是每位同学的属性都不尽相同 学生的方法可以是吃饭、睡觉、打豆豆、抱孩子等 所有学生都拥有这些方法,但是它们被执行的过程和结果都不尽相同。
JavaScript 中的对象: 在 JavaScript 中,对象是数据(变量),拥有属性和方法 声明一个Javascript变量 var name = “Ming" ; 创建了一个 JavaScript 字符串对象 , 字符串对象拥有内建的属性 length。对于上面的字符串,length 的值是 4 字符串对象同时拥有若干个内建的方法. 属性:name.length = 4 ; 方法:name.indexOf() , name.replace() , name.search() 在面向对象的语言中,属性和方法常被称为对象的成员
自己创建JavaScript 对象: JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等 例: people = new Object() ; people.name = “美女"; people.age = 18; people.sex = 女; people.isMarry = 是; document.write(person.name + " is " + person.age);
访问对象的方法 :
对象名.方法名
例: var msg = "my name is arry" ; (使用 String 对象的 toUpperCase() 方法来把文本转换为大写)
var text= msg.toUpperCase() ;
<!doctype html> <html> <head> <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!--当前页面的三要素--> <title>创建JavaScript 对象 </title> <meta name="Keywords" content="关键词,关键词"> <meta name="description" content=""> <!--css,js--> <style type="text/css"> *{margin:0;padding:0;} </style> </head> <body> <script type="text/javascript"> // 自己创建Javascript对象 people = new Object(); people.name = "美女"; people.sex = '女'; people.age = 18; // 代表数字类型 people.isMarry = '是'; // 取值方法: // 对象名.属性名 document.write(people.name+"是一个漂亮的"+people.sex+"孩子,今年"+people.age+"岁,但是她已经结婚了,你们都没有机会了! 哈哈 .....<br /><br />"); // 访问对象的属性 var msg = "my name is ming !"; // 对象名.属性名 var val = msg.length; document.write("msg字符串的长度:"+val); // 访问对象的方法 var txt = msg.toUpperCase(); document.write("<br /><br />转换前:"+msg+"<br /><br />转换后的文本:"+txt); </script> </body> </html>
1:对象的检索方式有两种: var book = {"name":"三毛流浪记","price":10}; 第一种:book.name ="三毛流浪记"; 第二种:book["name"] = "三毛流浪记", book["price"] = 10; :2:对象的检索方式有两种: var book = {"name":"三毛流浪记","price":10}; 第一种:book.name ="三毛流浪记xx"; 第二种:book["name"] = "三毛流浪记xx", book["price"] = 100; 3:对象的反射使用:typeOf var book = {"name":"三毛流浪记","price":10,"callabck":function(){ alert(1123); }}; typeof book.name ==string typeof book.price == 10 typeof book.callback == function 4:对象的赋值使用:delete var book = {"name":"三毛流浪记"} book.name = "想学习";//更新 book.price = 10;//创建 book.time = "2012-12-12"//创建 5:对象的循环使用:for in var book = {"name":"三毛流浪记",price:10} for(var key in book){ alert("键:"+key+"对应的值是:"+book[key]); } <script type="text/javascript"> /* javascript对象有哪一些呢: 1:对象,object 2:日期 Date 3:数组,Array 4:正则表达式Regex Regex 5:函数 function */ /* 对象的定义: 如:var book = {};//定义一个空对象 var book2 = {key:value};//HashMap var book2 = {"name":"Javascript进阶","price":10,"date":"2012-12-12"}; */ //var age = 20;//number //var age2 = 20;//string //alert(age == age2);//true //alert(age === age2);//false var people = { name : "Ming", age : 20, test : function(){ alert("对象里面定义了方法哦!"); } }; //1:对象的检索方式两种 //alert("姓名是:"+people.name+",年龄:"+people.age); //2:对象的第二种方式获取 //alert("姓名是:"+people["name"]+",年龄:"+people["age"]); //2对象的更新 //people.name ="IOY"; //people.age = 23; //people["name"] ="IOY123"; //alert("姓名是:"+people.name+",年龄:"+people.age); //3:对象的反射typeof就是判断属性对应的数据类型 //alert(typeof people);//object //alert(typeof people.name)//string //alert(typeof people.age)//number //alert(typeof people.test)//function //4:对象里面方法的调用:people.test(); //5:对象的创建 //var book = {};//定义一个空对象 //book.name = "三毛流浪记!"; //book.price = 23; //alert(book.name+"==="+book.price); //6对象删除 delete //var book2 = {"name":"想你了!"}; //alert("对象book2删除之前是:"+book2.name);//想你了! //delete book2.name; //alert("对象book2删除之后是:"+book2.name);//undefined //book2.name = "我有复活了!!"; //alert("对象book2删除之后复活了的值是:"+book2.name);//undefined //一个对象里面的属性一定被删除了,只不过是值被赋予了undefined而已。它没有真正意义上的把name属性给剔除. //对象的值获取方式,for in //var classroom = {room:"教室一",number:48,code:"S10001"}; //for(var key in classroom){ // alert("key值是:"+key+"; 对应的值是:"+classroom[key]); //} /*判断是否为数组*/ function is_array(value){ return value && typeof value === "object" && value.constructor === Array; } function is_array2(value){ return value && typeof value ==="object" && typeof value.length ==="number" && typeof value.splice ==="function" && !(value.propertyIsEnumerable("length")) } </script>
日期: 1:Date构造函数: 当前时间 new Date(); Tue Sep 11 2012 15:37:46 GMT+0800 (中国标准时间) new Date(3600 * 24 * 1000); Fri Jan 02 1970 08:00:00 GMT+0800 (中国标准时间) 除了构造函数外,Date.UTC()也用于构造日期,但是并不返回Date,而是返回从1970-01-01开始的毫秒数,比如: 1328054400100, 即2012-01-01 00:00:00 0100 Date.UTC(2012, 1, 1, 0, 0, 0, 100); 2:字符串转日期: Date.parse(string)方法并不是返回Date,而是返回整数 Date.parse("Jul 8, 2005"); Date.parse("2005-07-08"); Date.parse("2005/07/08"); 3:日期转字符串 toString(); // Tue Sep 11 2012 15:09:01 GMT+0800 toTimeString(); // 15:09:34 GMT+0800 toDateString(); // Tue Sep 11 2012 toGMTString(); // Tue, 11 Sep 2012 07:10:05 GMT toUTCString(); // Tue, 11 Sep 2012 07:10:17 GMT toLocaleString(); // 2012年9月11日 15:10:31 toLocaleTimeString(); // 15:10:45 toLocaleDateString(); // 2012年9月11日 4:Get系列方法 Date提供了一系列Get和Set方法,可以获取和设置年份、月份、日期、小时等等信息,并且提供了本地时间和UTC时间两套方案。本地时间方法如下: var date = new Date(); date.getDate(); // 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 date.getDay(); // 从 Date 对象返回一周中的某一天 (0 ~ 6)。 date.getMonth(); // 从 Date 对象返回月份 (0 ~ 11)。 date.getFullYear(); // 从 Date 对象以四位数字返回年份。不用使用getYear()。 date.getHours(); // 返回 Date 对象的小时 (0 ~ 23)。 date.getMinutes(); // 返回 Date 对象的分钟 (0 ~ 59)。 date.getSeconds(); // 返回 Date 对象的秒数 (0 ~ 59)。 date.getMilliseconds(); //返回 Date 对象的毫秒(0 ~ 999)。 date.getTime()方法返回从1970-01-01开始到现在的毫秒数 <script type="text/javascript"> var size = 125118227; alert(tm_countFileSize(size)); tm_forbiddenSelect(); /* Date篇: 1:获取当前日期:new Date(); 一周的第一天是:星期日 一周最后一天是: 星期六 month:0-11 */ var date = new Date(); //Date date = new Date();//java document.write(date); //Wed Jul 2 22:08:04 UTC+0800 2014 --格林士日期格式 //星期三(Wed)月份July七月 日期2 时间22:08:04 UTC+0800(时区) 年份2014 //获取日期的年份 var year = date.getYear();//缩率版的年份 var fullYear = date.getFullYear(); //获取月份 var month = date.getMonth()+1; //获取日期 var day = date.getDate(); if(month <10)month = "0"+month; if(day <10)day = "0"+day; document.write("<br>当前的年月日是:"+fullYear+"-"+month+"-"+day); //时分秒 var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); document.write("<br>当前的日期是:"+fullYear+"-"+month+"-"+day+" "+hour+":"+minute+":"+second ); //getTime()--获取日期的毫秒数 var time = date.getTime(); var diffTime = time - 24 * 60 * 60 * 1000; var date2 = new Date(diffTime); //二十四小时制日期格式:yyyy-MM-dd HH:mm:ss //十二小时制日期格式:yyyy-MM-dd hh:mm:ss var dateString = date2.format("yyyy-MM-dd EEE hh:mm:ss.S"); document.write(dateString); var dateString = "2013-12-12 12:12:12"; dateString = dateString.replace(/-/g,"/");//把-替换成/ var dateString = new Date(dateString); var date = new Date(dateString); //alert(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()); alert(getTimeFormat(date)); </script>
<body> <script type="text/javascript"> /* string : toLowerCase() 把字符串中的文本变成小写 toUpperCase() 把字符串中的文本变成大写 split(delimiter)将字符串分配为数组 substr(startIndex, length) 从startIndex与,取length个字符 substring(startIndex, endIndex) 从startIndex和endIndex之间的字符,没有包含endIndex indexOf(searchString, startIndex) 返回字符串中第一个呈现指定字符串的地位 lastlndexOf(searchString, startIndex) 返回字符串中最后一个呈现指定字符串的地位 charAt(index) 返回指定索引处的字符 replace(regex, newString)将字符串中的某些字符替代成其它字符 Math PI:3.1415926..... abs(x) 返回数字的相对值 ceil(x) 返回 x 四舍五入后的最大整数 floor(x) 返回 x 四舍五入后的最小整数 max(x,y) 返回 x 和 y 之间较大的数 min(x,y) 返回 x 和 y 之间较小的数 random() 返回位于 0 到 1 之间的随机函数 round(x) 四舍五进后与整 pow(x,y) 返回 y^x 的值 */ var str = "ABCDEFghlm5644"; str = str.toLowerCase(); //alert("字符串转成小写:"+str); str = str.toUpperCase(); //alert("字符串转成大写:"+str); var str2 = "1,2,3,4,5,6"; var str3 = "单晨#KID#白羊#东东"; var arr = str2.split(","); var arr2 = str3.split("#"); var str4 = "sddd1s1dfDDDDD"; //alert(str4.indexOf("1"));//如果找到返回当前字符的位置,否则返回-1 //alert(str4.indexOf("d")); //alert(str4.lastIndexOf("d")); //alert(str4.charAt(0));//s //alert(str4.charAt(1));//d //for(var i=0;i<str4.length;i++){ // alert(str4.charAt(i)); //} //str4 = str4.replace(/d/ig,"c");//replaceAll(i不区分大小写g全局替换) //alert(str4); //alert(Math.PI); ////alert(Math.abs(5)); //alert(Math.ceil(2.6));//3 //alert(Math.floor(9.87));//9 //alert(Math.min(9,1,0,123));//0 //alert(Math.max(9,800,8888,10));//8888 alert(Math.random(10));// </script> </body>