zoukankan      html  css  js  c++  java
  • Day5-JS-对象

    (本文为菜鸟教程---自学笔记)

    JavaScript 对象

    JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...

    此外,JavaScript 允许自定义对象。

    一、创建 JavaScript 对象

    ①实例

       <script>
            var person=new Object();
            person.firstName="c";
            person.age=50;
        </script>

    或者是:

    var car={name:baoma,price:20000};

    二、使用函数来构造对象(使用对象构造器)

      <script>
            function person(firstname,lastname,age){
                this.firstname=firstname;
                this.lastname=lastname;
                this.age=age;
            }
            myFather=new person("c","c",20);
            document.write(myFather.firstname);
        </script>

    三、把方法添加到 JavaScript 对象

    注意:要在对象里面加上这个东西this.changeName=changeName; 为的就是在外部可以访问对象的这个函数

     <script>
            function person(firstname,lastname,age){
                this.firstname=firstname;
                this.lastname=lastname;
                this.age=age;
                this.changeName=changeName;
                function changeName(name){
                    this.lastname=name;
                }
            }
            myFather=new person("C","c",19);
            myFather.changeName("g");
            document.write(myFather.lastname);
        </script>

    ===知识小扩展:

    (JavaScript 是面向对象的语言,但 JavaScript 不使用类。

    在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

    JavaScript 基于 prototype,而不是基于类的。)

     

    四、for 。。。in循环

    <p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>
    <button onclick="myFunction()">点击这里</button>
    <p id="demo"></p>
    <script>
        function myFunction(){
            var x;
            var txt="";
            var person={fname:"Bill",lname:"Gates",age:56};
            for(x in person){
                txt+=person[x];
            }
            document.getElementById("demo").innerHTML=txt;
        }
    </script>

    五、JavaScript prototype(原型对象)

    ===我们也知道在一个已存在的对象构造器中是不能添加新的属性的,所以要添加一个新的属性需要在在构造器函数中添加

    prototype 继承

    所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法:

    • Date 对象从 Date.prototype 继承。
    • Array 对象从 Array.prototype 继承。
    • Person 对象从 Person.prototype 继承。

    使用 prototype 属性就可以给对象的构造函数添加新的属性

    <script>
    function Person(first, last, age, eye) {
      this.firstName = first;
      this.lastName = last;
      this.age = age;
      this.eyeColor = eye;
    }
    
    Person.prototype.nationality = "hh";
    
    var myFather = new Person("John", "Doe", 50, "blue");
    document.getElementById("demo").innerHTML =
    "我父亲对国籍是 " + myFather.nationality; 
    </script>

    但是:这个只能是在创建属性的时候赋值,就是给定死了。在后面的var myFather =new Person("John", "Doe", 50, "blue",”China“);这样显示出来的还是hh的

    当然我们也可以使用 prototype 属性就可以给对象的构造函数添加新的方法

    <script>
    function Person(first, last, age, eye) {
      this.firstName = first;
      this.lastName = last;
      this.age = age;
      this.eyeColor = eye;
    }
    
    Person.prototype.name = function() {
      return this.firstName + " " + this.lastName
    };
    
    var myFather = new Person("John", "Doe", 50, "blue");
    document.getElementById("demo").innerHTML =
    "我对父亲是 " + myFather.name(); 
    </script>

    六、JavaScript Number 对象

    ==所有 JavaScript 数字均为 64 位

    JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

    在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,它能表示最大值为 ±1.7976931348623157e+308,最小值为 ±5e-324。

    ①精度:整数(不使用小数点或指数计数法)最多为 15 位。

    ②八进制和十六进制

    如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

    var y = 0377;
    var z = 0xFF;

    ==绝不要在数字前面写零,除非您需要进行八进制转换。 

    默认情况下,JavaScript 数字为十进制显示。

    但是你可以使用 toString() 方法 输出16进制、8进制、2进制。

    var myNumber=128;
    myNumber.toString(16);   // 返回 80
    myNumber.toString(8);    // 返回 200
    myNumber.toString(2);    // 返回 10000000

    ③无穷大用 Infinity 表示(但是无穷大表示的也是一个数字的)

    while (myNumber!=Infinity)

    除以0也会产生了无限

    NaN - 非数字值

    可以把 Number 对象设置为该值,来指示其不是数字值。

    ===使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

    数字可以是数字或者对象

    var x = 123;
    var y = new Number(123);
    typeof(x) // 返回 Number
    typeof(y) // 返回 Object
    var x = 123;             
    var y = new Number(123);
    (x === y) // 为 false,因为 x 是一个数字,y 是一个对象

    七、JavaScript 字符串(String) 对象

    你使用位置(索引)可以访问字符串中任何的字符

    var character=carname[7];

    使用长度属性length来计算字符串的长度

    使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置,没找到对应的字符函数返回-1

    lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。

    match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。

    replace() 方法在字符串中用某些字符替换另一些字符。

    大小写转换使用函数 toUpperCase() / toLowerCase()

    字符串使用split()函数转为数组

    <p id="demo">点击按钮显示数组</p>
        <button onclick="myFunction()">点我</button>
        <script>
            function myFunction(){
                var s="a,b,c,d";
                var result=s.split(",");
                document.getElementById("demo").innerHTML=result[0];
            }
        </script>

    ===小扩展:(这些都是把正则表达式运用到了字符串的方法里面的)

     

    小扩展:

    使用函数来构造对象

  • 相关阅读:
    poj-3580-SuperMemo-splay
    JS 添加到事件的多个对象
    1.9 效率高,安排约会
    我展示了视频采集前端vfe和camera,decode等交互驱动的体系结构
    2013年7月27日杂记
    深入JS系列学习4
    深入JS系列学习3
    深入JS系列学习2
    高质量JavaScript代码书写基本要点学习
    给硬件复兴把脉 硬件创新最有机会的十个方向
  • 原文地址:https://www.cnblogs.com/SCAU-gogocj/p/13140148.html
Copyright © 2011-2022 走看看