深入了解JavaScript(一)

(一) 对象

  1. 创建一个空的对象
var obj = new Object();
//或
var obj = {};
  1. 在创建时直接定义该对象
var obj = {
    name: "Song",
    "six": "boy",
    details: {
        color: "red",
        size: 10
    }
}
  1. 对象的属性可以通过链式(chain)表示方法进行访问
obj.details.color; // red
obj["details"]["size"]; // 10
  1. 创建一个对象原型(与类相似)
function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 根据原型实例一个新的对象
var my = new Person("Song", 19); 
  1. prototype修改或添加对象原型的实例共享对象
function Person(A, B) {
    this.A= A;
    this.B= B;
}
Person.prototype.funAaddB= function() {
    return this.A+ ' ' + this.B;  //this指向当前函数对象
}
Person.prototype.Name='Song';

var obj = Person('hello','word');
obj.funAaddB();//hello word
obj.Name;//'Song'

通过prototype修改或添加对象可以在所有实例中共用,JavaScript允许你在任何时候修改原型中的一些东西,也就是说你可以在允许时给已经存在的对象添加额外的方法

同时你也可以对JavaScript的内置函数原型添加东西
下面为String添加了一个倒序的方法

var s = "Song";
String.prototype.reversed = function() {
    var r = "";
    for (var i = this.length - 1; i >= 0; i--) {
        r += this[i];
    }
    return r;
}
s.reversed(); // gnoS
"hello,word".reversed(); // drow,olleh

(一) 数组

  1. 创建数组
var a = new Array();
//或
var a = [];
//或在创建时直接定义
var a = ["A", "B", "C"];
  1. 数组长度
var a = ["A", "B", "C"];
a[100] = "F";
a.length; // 101

注意:数组长度并不总是等于数组中元素的个数,数组长度等于数组最大索引值+1

当你视图访问一个的数组索引会得到undefined

var a = ["A", "B", "C"];
a[100] = "F";
a[99];  //undefined
  1. 遍历数组
for (var i = 0; i < a.length; i++) {
    //a[i]
}
for (const currentValue of a) {
  // currentValue
}
for (var i in a) {
  //  a[i]
}
["A", "B", "C"].forEach(function(currentValue, index, array) {
  // currentValue or array[index]
});
  1. 向数组添加元素
var a = ["A", "B", "C"];
a[100] = "F";
a.push('G');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值