JavaScript关于对象函数的一些简要笔记,适合小白

一、This
解析器在调用函数每次都会向函数内部传递一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象,根据函数的调用方式的不同,this会指向不同的对象。
– 以函数的形式调用时,this永远是window
– 以方法的形式调用时,this就是调用方法的那个对象
function fun(){
console.log(this);
}
var obj = {
name:“yp”,
sayName:fun
};
var obj2 = {
name:“zyx”,
sayName:fun
};
fun();//window
//obj.sayName();
obj2.sayName();//name:“zyx”
二、构造函数
创建一个构造函数,专门用来创建Person对象的,构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯首字母大写
– 调用方式不同,普通函数是直接调用,构造函数需要使用new关键字来调用
function Person(){

}
var per = new Person();
console.log(per);//object
– 构造函数的执行流程
1、立刻创建一个新的对象
2、将新建的对象设置为函数中this,在构造函数中可以使用this来引用新建的对象
3、逐步执行函数中的代码
4、将新建的对象作为返回值返回
使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数成为一个类,将通过一个构造函数创建的对象,称为是该类的实例
function Person(name , age , gender){
this.name = name;
this.age = age;
this.gender = gender;
this.sayName = function(){
alert(this.name);
};
}
function Animal(){

}
var per = new Person(“zzz”,12,“man”);
var per2 = new Person(“zzx”,22,“man”);
var animal = new Animal();
console.log(per.name);
console.log(Animal);
使用instanceof可以检查一个对象是否是一个类的实例
console.log(per instanceof Person);
语法:对象 instanceof 构造函数
如果是则返回true否则返回false
console.log(animal instanceof Object);//true
所有的对象都是object的后代,所以任何对象和object在instanceof检查时都会返回true
三、垃圾回收
当一个对象没有任何的变量或属性对它进行引用,此时我们将永远无法操作该对象,这种对象就是一个垃圾,占用大量的内存空间,JS中拥有自动的回收机制,我们只需将不再使用的对象设置为null。
四、数组的5个方法:
5.1push()

  • 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度,
  • 可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾
    var arr = [1,2,3];
    var result = arr.push(4,5,6);
    console.log(arr);
    console.log(“result =”+result);//6
  • 该方法会将数组的新的长度作为返回值返回
    5、2pop()
  • 该方法可以删除数组的最后一个元素
    var arr = [1,2,3];
    var result = arr.push(4,5,0);
    console.log(arr);
    //console.log(“result =”+result);
    result = arr.pop();
    // arr.pop();
    console.log(arr);
    console.log("result = "+result);//0,因为删除了0
    5.3unshift()
  • 向数组开头添加一个或多个元素,并返回新的数组长度
  • 向前边插入元素以后,其他的元素索引会依次调整
    var arr = [1,2,3];
    arr.unshift(99,88);
    console.log(arr);//99,88,1,2,3
    5.4shift()
  • 可以删除数组的第一个元素,并将被删除的元素作为返回值返回
    5.5slice
  • 可以用来从数组提取指定元素,不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
  • 参数:1、截取开始的位置的索引,包含开始索引
    2、截取结束的位置的索引,不包含结束索引
  • 第二个参数可以省略不写,此时会截取从开始索引往后的所有元素
  • 索引可以传递一个负值,是从后往前计算 -1倒数第一个
    var arr = [“张艺兴”,“范丞丞”,“胡一天”,“罗云熙”,5];
    result = arr.slice(3);//“罗云熙”,5
    result1 = arr.slice(1,-1);
    console.log(result);
    console.log(result1);执行后的结果

文中的代码可以自己敲然后验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值