zoukankan      html  css  js  c++  java
  • JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象。在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程。

    1.对象

    在JavaScript中,对象被定义为无序属性的集合,属性可以是任何类型的值,包括其他对象或函数。函数作为属性值时称为“方法”,即对象的行为。

    (1)对象常用的内部属性

    对象的内部属性是由JavaScript 规范定义的,由运行代码的系统来访问。对象常用的内部属性:

    • prototype        对象        获得对象原型,用来实现继承功能

    • class                字符串     描述对象类型的字符串,使用 typeof 操作符返回的结果

    • get                  函数         获取指定属性名称的属性值

    • put                  函数         为指定的属性赋值

    • canPut            函数         指定属性是否可以通过 put 赋值

    • hasProperty    函数         是否有指定的属性

    • delete             函数         删除对象指定的属性

    • defaultValue   函数         返回对象的默认值

    • construct        函数         对象的构造函数

    • call                  函数        执行关联在对象上的代码(通过函数名调用)

    prototype 属性可以为对象添加方法;

    拥有 construct 属性的对象可以通过 new 操作符来调用,此时该对象可以被理解为类;

    拥有call 属性的对象可以通过函数名称来调用,

    JavaScript中一切皆对象,所有的函数(对象)都拥有此属性

    2.对象的创建、访问和释放

    (1)创建对象

    在JavaScript中,使用 new 关键字调用构造函数来创建对象。

    var 对象名 = new  构造函数();

    (2)对象的属性

    对象的属性都通过 “.”运算符访问。

    如果访问值是 null对象的属性,将出现空引用错误。与普通变量函数相同,对象的属性可以动态生成。将某个属性值设置为null表示删除该属性。

    在函数内部的对象,函数执行完毕后将自动释放所占用的资源;

    在函数外部定义的对象,将其值设置为null后,垃圾收集器将释放其占用的资源。

    3.常用内置对象

    常用的内置对象包括Global,Object,Function,Array,String,Date,RegExp,Math,Error等等。

    (1)Global对象: js中顶级对象,一切声明的变量和函数都是它的属性。

    特性:

    1. 没有 construct 属性,所以无法使用 new 操作符构造。

    2. 没有 call 属性,所以无法调用

    3. 只是表示全局对象的概念,依据宿主不同而不同,例如,在浏览器中,window对象即为Global对象。

    (2)Object对象:所有对象的基础,其他所有对象都从Object 对象扩展而来,这一切都通过原型实现。原型是对象的一个属性,即 prototype。prototype 本身是一个对象,每个对象都具有此属性。JS中每个对象本身都不包含具体的属性(但可以动态添加),而是通过原型进行属性的共享。当获取一个对象的属性时,系统首先检测对象是否直接包含该属性,如果不包含则从原型属性中查找;如果扔为找到则返回 undefined。

    所有对象都派生自 Object,所以使用原型为 Object对象扩展属性时,所有对象都具有该属性。

    (3)Function 对象: 函数也是对象(js中一切皆对象),所以当使用function关键字定义函数时,实际上是在系统内部创建了一个Function对象。

    具体使用参见:JavaScript 基础回顾——函数

    (4)Error对象: 内置的Error对象可以在发生错误时作为参数传递给catch子句,也可以使用 new 关键字构造自定义的Error对象。

    <script type="text/javascript">

    try{

    var err=new Error("代码里 自定义错误");//自定义错误对象

    }catch(e){

    alert(e.message);

    }

    </script>

    来源:代码里

    链接:http://www.daimali.com/index.php/2016/04/28/342/

  • 相关阅读:
    主机无法ping通网关,但可以ping通局域网内的其他主机
    linux下安装mysql
    国内python源
    在vue中引入element-ui时报错
    在windows上部署vue
    linux上部署vue开发环境
    vue插件之vue-router路由基本使用
    vue监听属性变化
    vue过滤器
    vue组件的使用
  • 原文地址:https://www.cnblogs.com/codelir/p/5448418.html
Copyright © 2011-2022 走看看