JavaScript自主学习进度(2)

一、关键特性

    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>

 

上一篇:C#-笔记-面向对象-第二章


下一篇:C# 常量、枚举、结构