zoukankan      html  css  js  c++  java
  • 003 对象

    一:面向对象

    1.说明

      面向对象特性:封装,继承,多态

      js不是面向对象的语言吗,但是可以模拟面向对象的思想

      js是一门基于对象的语言

      主要有三种创建方式。

    2.第一种方式

      调用系统的构造函数创建对象

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //第一种方式
     8        var obj = new Object();
     9        obj.name = "tom";
    10        obj.age = 19;
    11        obj.sex = "F";
    12        obj.eat=function () {
    13            console.log("======")
    14        }
    15 
    16        console.log(obj.age);
    17        obj.eat();
    18     </script>
    19 </head>
    20 <body>
    21     <h1>CJ</h1>
    22 </body>
    23 </html>

    3.一次性创建多个对象【工厂模式创建】

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //第二种方式
     8         function create() {
     9             var obj = new Object();
    10             obj.name = "tom";
    11             obj.age = 19;
    12             obj.sex = "F";
    13             obj.eat=function () {
    14                 console.log("======"+this.name)
    15             }
    16             return obj;
    17         }
    18 
    19         var pre = create();
    20         pre.eat();
    21     </script>
    22 </head>
    23 <body>
    24     <h1>CJ</h1>
    25 </body>
    26 </html>

    4.第二种方式,自定义构造函数

      与函数有点不同,主要是首字母是大写。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //第二种方式
     8         function Person() {
     9             this.name = "tom";
    10             this.age = 19;
    11             this.sex = "F";
    12             this.eat=function () {
    13                 console.log("======"+this.age);
    14             }
    15         }
    16 
    17         var pre = new Person();
    18         pre.eat();
    19     </script>
    20 </head>
    21 <body>
    22     <h1>CJ</h1>
    23 </body>
    24 </html>

    5.字面量的方式创建对象

      缺陷:一次性对象

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //第三种方式
     8         var pre = {};
     9         pre.name="tom";
    10         pre.age=19;
    11         pre.eat=function () {
    12             console.log("====")
    13         }
    14 
    15         //优化
    16         var pp={
    17             name:"lily",
    18             age:20,
    19             eat:function () {
    20                 console.log("-----")
    21             }
    22         };
    23 
    24 
    25     </script>
    26 </head>
    27 <body>
    28     <h1>CJ</h1>
    29 </body>
    30 </html>

    二:操作

    1.设置与获取属性

      赋值有两种方式。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //
     8         function Person(name) {
     9             this.name=name;
    10         }
    11         var person=new Person("tom");
    12         console.log(person.name)
    13 
    14         //
    15         person.name="aaa";
    16         console.log(person.name)
    17 
    18         person["name"]="nnn";
    19         console.log(person.name)
    20 
    21     </script>
    22 </head>
    23 <body>
    24     <h1>CJ</h1>
    25 </body>
    26 </html>

      效果:

      

    三:Json

    1.遍历

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //
     8        var json={
     9            "name":"tom",
    10            "age":10
    11        }
    12 
    13        for (var key in json){
    14            console.log(key+"===="+json[key]);
    15        }
    16     </script>
    17 </head>
    18 <body>
    19     <h1>CJ</h1>
    20 </body>
    21 </html>

      效果:

      

    四:内置对象

    1.说明

      js主要学习三种对象

      内置对象----js自带的对象

      自定义对象-----自定义的构造函数创建的对象

      浏览器对象------bom时候讲解

    2.内置对象

      Math

      Date

      String

      Array

      Object

    3.Math:自己查文档即可

      Math 是一个内置对象, 它具有数学常数和函数的属性和方法。不是一个函数对象。

      百度:

      

      进入:https://developer.mozilla.org/zh-CN/docs/Web

      然后可以搜素Math,查看属性与方法。

    4.Date常用的方法

      程序一:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //Date
     8         var date = new Date();
     9         console.log(date.getFullYear());  //
    10         console.log(date.getMonth()+1); //
    11         console.log(date.getDate());  //
    12         console.log(date.getHours());  //小时
    13         console.log(date.getMinutes()); //分钟
    14         console.log(date.getSeconds());//
    15         console.log(date.getDay());    //星期
    16     </script>
    17 </head>
    18 <body>
    19     <h1>CJ</h1>
    20 </body>
    21 </html>

      效果:

      

      程序二:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //Date
     8         var date = new Date();
     9         console.log(date.toDateString());      //英文的日期
    10         console.log(date.toLocaleDateString()); //数字格式的日期
    11 
    12         console.log(date.toTimeString());  //小时分钟秒
    13         console.log(date.toLocaleTimeString()); //
    14 
    15         console.log(date.valueOf());//毫秒数
    16     </script>
    17 </head>
    18 <body>
    19     <h1>CJ</h1>
    20 </body>
    21 </html>

      效果:

      

    ·  程序三:获取毫秒数

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //获取对象的原始值
     8         var date = new Date();
     9         console.log(date.valueOf());//毫秒数
    10 
    11         //H5方法
    12         var now = Date.now();
    13         console.log(now);
    14 
    15         //不支持H5
    16         var now2 =+ new Date();
    17         console.log(now2)
    18     </script>
    19 </head>
    20 <body>
    21     <h1>CJ</h1>
    22 </body>
    23 </html>

      效果:

      

    5.String

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         var str = "hello";
     8         console.log(str.length);  //长度
     9         console.log(str.charAt(1)); //取值
    10 
    11         console.log(str.concat(" world")); //拼接
    12 
    13         console.log(str.indexOf("e")); //返回字符串的位置
    14 
    15         console.log(str.slice(1,3)); //截取
    16 
    17         console.log(str.replace("h","mm")); //替换
    18 
    19         var arr ="hello,world".split(",");  //切分,返回array
    20         console.log(arr[1]);
    21 
    22         console.log(str.substr(1,2));   //开始位置,个数
    23         console.log(str.substring(1,2)); //开始索引,结束索引。不包括结束索引的值
    24 
    25         console.log("HELLO".toLocaleLowerCase()); //转小写
    26         console.log("HELLO".toLowerCase());       //转小写
    27 
    28     </script>
    29 </head>
    30 <body>
    31     <h1>CJ</h1>
    32 </body>
    33 </html>

      效果:

      

    6.Array

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script>
     7         //创建数组
     8         var arr = new Array();//构造函数的方式
     9         var arr2 = [];//字面量的方式
    10 
    11         //是不是数组
    12         console.log(arr2 instanceof Array);
    13         console.log(Array.isArray(arr2));
    14 
    15         //用于测试每个元素的函数,返回boolean值
    16         var arr3 = ["aaaa","bbbb","ccccc"];
    17         var result = arr3.every(function (ele, index) {
    18             return ele.length>4;
    19         });
    20         console.log(result);
    21 
    22         //过滤数组,返回一个新的数组
    23         var arr4 = [1,6,3,6,3,7,8,0];
    24         arr5 = arr4.filter(function (ele) {   //ele是每个元素
    25             return ele>3;
    26         });
    27         console.log(arr5);
    28 
    29         //追加值,追加在最后,修改的是原数组的值
    30         arr4.push(44);
    31         console.log(arr4);
    32 
    33         //删除,删除最后一个,返回删掉的值,原数组的值被删掉了
    34         var arr6 = arr4.pop();
    35         console.log(arr6);
    36         console.log(arr4);
    37 
    38         //删除第一个值,返回删掉的值
    39         var arr7 = [0,2,4,9,3,5];
    40         var arr8 = arr7.shift();
    41         console.log(arr8);
    42         console.log(arr7);
    43 
    44         //插入,在第一个位置上插入,返回数组的长度
    45         var arr9 = [0,2,4,9,3,5];
    46         var arr10 = arr9.unshift(8);
    47         console.log(arr10);
    48         console.log(arr9);
    49 
    50         //循环,但是低版本使用不了,可以参看MDN上的兼容问题
    51         var arr = [0,2,4,9,3,5];
    52         arr.forEach(function (ele, index, array) {
    53             console.log(index+'---'+ele);
    54         })
    55 
    56         //join
    57         var str = arr.join("|");
    58         console.log(str);
    59 
    60         //map,每个元素都要执行map中的函数,返回一个新的数组
    61         var arr = [0,2,4,9,3,5];
    62         var root =arr.map(function (ele) {
    63             return ele+1;
    64         });
    65         console.log(root);
    66 
    67         //反转
    68         var arr = [0,2,4,9,3,5];
    69         var rr =arr.reverse();
    70         console.log(rr);
    71 
    72         //排序,里面可以自定义自己的排序函数
    73         var arr = [0,2,4,9,3,5];
    74         var arr2 = arr.sort(function ff(a, b){
    75             if(a>b){
    76                 return 1;
    77             }else if(a==b){
    78                 return 0;
    79             }else {
    80                 return -1;
    81             }
    82         });
    83         console.log(arr2);
    84 
    85         //插入与删除与替换,splice(开始的位置,删除的个数,替换的元素)。
    86         var arr = [0,2,4,9,3,5];
    87         arr.splice(2,0,99);  //在2的位置插入一个99,然后不删除项
    88         console.log(arr);
    89 
    90         arr.splice(2,2);  //删除两项,去掉了99和4
    91         console.log(arr);
    92 
    93     </script>
    94 </head>
    95 <body>
    96     <h1>CJ</h1>
    97 </body>
    98 </html>

      效果:

      

      

      

      

        

  • 相关阅读:
    form表单中name和id区别
    为什么我做网站开发不使用前端框架
    设置GridView表头的背景图片
    input文本框隐藏边框
    如何在asp.net页面使用css和js
    HTML与XHTML的差别
    asp.net实现关闭当前网页功能
    asp.net判断文件或文件夹是否存在
    asp.net自定义错误页面
    asp.net中textbox获得焦点后清空默认文本
  • 原文地址:https://www.cnblogs.com/juncaoit/p/11210871.html
Copyright © 2011-2022 走看看