zoukankan      html  css  js  c++  java
  • JavaScript 继承和数组

    前言

    因为篇幅比较短,所以将JavaScript中的继承和数组进行统一写。

    继承

    当一个函数对象被创建的时候,Function构造器产生的函数对象会运行类似这样的代码:

    this.prototype = {constructor:this};
    
    

    新函数对象被赋予一个prototype属性,它的值是一个包含constructor属性且属性值为该新函数的对象。这个prototype对象是存放继承特征的地方。类似于构造函数,因为这门语言并没有提供一种方法去确定哪个函数是打算用来做构造器的,所以每个函数都会得到一个prototype对象。

    如果你在调用构造器函数时忘记了在前面加上new前缀,那么this将不会被绑定到一个新对象上。但是,this将会绑定到全局对象上,所以你将不但没有扩充对象,反而破坏了全局变量环境。

    数组

    长度

    如果你用大于或者等于当前length的数字作为下标来存储一个元素,那么length值将会被增大以容纳新元素,不会发生数组越界错误。

    枚举

    for in 无法保证属性的顺序,而大多数遍历数组的场合都期望按照阿拉伯数字顺序来产生元素。

    判断变量属性

    因为这门语言对于数组和对象的区别是混乱的。typeof运算符报告数组的类型是'object'。

    所以可以利用下面的方式来判断是否是数组:

    //判断是否数组,
    var is_array = function (value) {
    	return Object.prototype.toString.apply(value) === '[Object Array]';
    	
    }
    

    初始化

    JavaScript没有多维数组,为了创建数组的数组,必须自己去创建一个第二维的数组。

  • 相关阅读:
    Educational Codeforces Round 49 (Rated for Div. 2)
    Codeforces Round #506 (Div. 3)
    multiset
    C++中substr函数的用法
    7.30 背包问题
    7.29 dp动态规划
    7.27 图论 存图 前向星 最短路 dijstra算法 SPFA算法
    7.26 搜索进阶(状压搜索,迭代加深搜索)
    7.23 深搜广搜
    7.24 二分搜索
  • 原文地址:https://www.cnblogs.com/George1994/p/6412155.html
Copyright © 2011-2022 走看看