6.18学习总结

一、考核总结

有一个没有学习到的知识点

改变this指向的方法:

1.call方法

让函数调用call方法同时把this改变为需要改变指向的函数

例:

function fn(name,age){
this.nmae=name;
this.age=age;
}
var obj={}
//利用call方法改变指向
fn.call(obj,"zyj",19);
//以下的this,均指向window,name:undefined,age:undefined
fn.call()
fn.call(null)
fn.call(undefinded)

2.apply方法

语法:函数名.apply(调用者,[参数])

function fn(name,age){
this.name=name;
this.age=age;
}
var obj={}
//使用apply方法
fn.apply(obj,["zyj",19]);
//一下this指向window,name:undefined,age:undefined
fn.apply();
fn.aaply(null);
fn.apply(undefined);

3.bind方法

function fn(name,age){
this.name=name;
this.age=age;
}
var obj={}
//使用bind方法
fn.bind(obj,"zyj",19)()

 总结:三者都是改变this的指向

但是不同的是call和apply是直接执行函数调用。bind是绑定,执行需要再次调用

call和bind是用逗号隔开而apply是作为数组接受变量

js中数组有哪些方法(忘完了)

我总结了一些常用的数组的方法:

1)添加删除元素

push(参数...):末尾添加一个或者多个元素,注意修改原数组,并返回新数组的长度

pop:删除数组的最后一个元素,把数组长度减1,无参数、修改原始数组,并返回删除元素的值

unshift(参数...):在数组的开头添加元素,修改数组长度,返回新数组长度

shift():删除数组的第一个元素,无参数,数组长度减一,修改原数组,返回第一个元素的值

2)数组排序

reverse():颠倒数组中元素的顺序无参数,该变了原数组,并返回新数组

sort():对数组元素进行排序,该变了原数组,并返回新数组

用它可以实现冒泡排序,代码如下:

//冒泡排序
        var arr1 = [2, 8, 100, 9, 28];
        /*由于他只会给个位数字进行排序所以,进行改进,是一个固定格式*/
        arr1.sort(function(a, b) {
            // return (a - b); //升序排序
            return (b - a); //降序排序
        });
        console.log(arr1);

3)数组索引

index Of():查找给定元素的第一个索引,如果存在反回索引号,否则返回-1

LastIndexOf():在数组中的最后一个索引,如果存在反回索引号,否则返回-1

4)数组向字符串转换

toString():把数组转换成字符串,逗号分隔每一项,并返回一个字符串

join('分隔符'):方法用于把数组中的所有元素转化为一个字符串,返回一个字符串

二、JS高级学习总结

(1)js高级比较重要的就是对象创建方法和继承模式,改变this指向

对象创建方式今天考核也有考到

大致是以下几种

 笔记中有忘记了记得去翻看

继承模式:

原型继承(继承方法)

构造函数继承(继承属性)

原型相同继承

组合继承{

构造函数加原型

原型相同加原型

}

代码演示笔记中有,记得翻看

(2)还有就是原型链,作用域链,作用域和执行上下文之间的区别需要分清不要混淆;

笔记中都有具体内容,要及时复习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值