一、关键特性
JavaScript 的 循环语句 if……else……和for 循环、while……循环、do……while……循环、switch case语句和continue、break用法跟ecplice的相同。JavaScript跟python一样,需要创建函数、方法。此处不做赘述。
二、Array、String、Date、Math对象
1、对象概念:在JavaScript中对象是拥有属性和方法的数据。
JSON它是纯数据格式,只包含属性没有方法,简单的例子:
1 { 2 "name": "zhangsan", 3 "age": 18, 4 "gender": "male" 5 }
Array对象:
属性:length 获取数组长度
方法:concat()连接两个或多个数组,并返回结果
join()将数组转换成字符串
pop()删除并返回数组最后一个元素
push()在数组末尾加一个或更多元素,并返回新的长度
reverse()颠倒数组顺序
sort()将数组进行排序
toString()把数组转换成字符串并返回结果
var arr1=[1,2,3]; var arr2=[4,5,6]; arr1.length; //结果等于3 arr3.concat(arr1,arr2); //结果返回[1,2,3,4,5,6]
String对象:
属性:length获取字符串长度
方法:charAt()获取指定位置处字符
var string='You are so excellent!'; document.write(str.charAt(6)); //返回‘e’
concat()连接字符串
indexof()检索字符串
toString()返回字符串
toLowerCase()/toUpperCase()返回字符串的小写/大写形式
replace()替换某段字符串
split()分割字符串为字符串数组
Date对象:
方法:Date()返回当日日期和时间
getDate()返回一个月中的某天
getDay()返回一周的某天
getMonth()返回月份
getFullYea()返回四位数字的年份
getHours()返回小时
getMinutes()返回分钟
getSeconds()返回秒
Math对象:
方法:abs()返回绝对值
round(x)返回x四舍五入后的值
sqrt()返回x的平方根
ceil(x)返回大于等于x的最小整数
floor(x)返回小于等于x的最大整数
pow(n,m)返回n的m次幂
max(a,b)/min(a,b)返回a,b中的最大/最小值
random()返回0到1间的一个随机数
三、创建对象
1、对象字面量来创建:
var student = { name: 'zhangsan', age: 18, gender: 'male', sayHi: function () { console.log('hi,my name is ' + this.name); }, };
2、new Object()来创建:
var student = new Object(); (student.name = 'zhangsan'), (student.age = 18), (student.gender = 'male'), (student.sayHi = function () { console.log('hi,my name is ' + this.name); });
3、工厂函数创建:
function createStudent(name, age, gender) { var student = new Object(); student.name = name; student.age = age; student.gender = gender; student.sayHi = function () { console.log('hi,my name is ' + this.name); }; return student; } var s1 = createStudent('zhangsan', 18, 'male');
4、自定义构造函数
function Student(name, age, gender) { this.name = name; this.age = age; this.gender = gender; this.sayHi = function () { console.log('hi,my name is ' + this.name); }; } var s1 = new Student('zhangsan', 18, 'male');
实例练习:
(1)写一个函数实现输出当前的准确时间,格式为yyyy/MM/dd HH:mm:ss
1 <html> 2 <head> 3 <meta charset='UTF-8'/> 4 <title> 5 今天的准确时间 6 </title> 7 </head> 8 <body> 9 <script> 10 function formatDate(time){ 11 if(!time instanceof Date){ 12 return; 13 } 14 var year=time.getFullYear(), 15 month=time.getMonth(), 16 day=time.getDate(), 17 hour=time.getHours(), 18 minute=time.getMinutes(), 19 second=time.getSeconds(); 20 month=month<10?'0'+month:month; 21 day=day<10?'0'+day:day; 22 hour=hour<10?'0'+hour:hour; 23 minute=minute<10?'0'+minute:minute; 24 second=second<10?'0'+second:second; 25 return ( 26 year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second); 27 } 28 document.write(formatDate(new Date())); 29 </script> 30 </body> 31 </html>
(2)写一个函数去掉给定数组中重复发元素,如array=['x','c','a','b','c','b','c'];
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 <title></title> 6 </head> 7 8 <body> 9 <script type="text/javascript"> 10 var array = ['x', 'c', 'a', 'b', 'c', 'b', 'c']; 11 12 function clearArray() { 13 var o = {}; 14 for (var i = 0; i < array.length; i++) { 15 var item = array[i]; 16 if (o[item]) { 17 o[item]++; 18 } else { 19 o[item] = 1; 20 } 21 } 22 var tmpArray = []; 23 for (var key in o) { 24 if (o[key] == 1) { 25 tmpArray.push(key); 26 } else { 27 if (tmpArray.indexOf(key) == -1) { 28 tmpArray.push(key); 29 } 30 } 31 } 32 return tmpArray; 33 } 34 35 console.log(clearArray(array)); 36 </script> 37 </body> 38 </html>